所以这是一个班级:
public class Palya {
Mezo[][] m;
public Palya(Mezo[][] m){
this.m = m;
}
它来自:
public class PalyaTeszt extends Palya{
public PalyaTeszt(Mezo[][] m) {
super(new Mezo[][] {
{new Szikla(), new Szikla(), new Viz(), new Szikla(), new Szikla(), new Preri(true)},
{new Szikla(), new Szikla(), new Preri(false), new Preri(false), new Preri(false), new Szikla()},
{new Szikla(), new Szikla(), new Preri(false), new Preri(false), new Szikla(), new Szikla()},
{new Szikla(), new Szikla(), new Preri(false), new Szikla(), new Viz(), new Preri(false)},
{new Szikla(), new Szikla(), new Preri(false), new Szikla(), new Viz(), new Szikla()},
{new Preri(true), new Preri(false), new Preri(false), new Preri(false), new Preri(false), new Preri(false)}
});
}
}
在派生的构造函数中,数组是用另一个名为Mezo的类初始化的,这个Mezo [] [] m类有我想要访问的方法,但没有名称,比如m.getSomething() 。 如何以我可以使用Mezo方法的方式进行初始化? 如果Palya只是一个界面会更好吗? Palya的意思是像国际象棋棋盘这样的6x6领域,仅用于不同的目的。 我想要6种不同的Palya。
答案 0 :(得分:1)
问题是您没有为类m
中的Palya
字段设置访问级别修饰符,它应如下所示:
public class Palya {
protected Mezo[][] m; // Note protected keyword
public Palya(Mezo[][] m){
this.m = m;
}
如果没有证明修饰符,则默认允许只访问该类和同一包的成员。
有关Java中访问修饰符的更多信息 - official docs