如何使用变量名在派生的 class 构造函数中初始化数组?
How to initialize array in a derived class constructor, with variable name?
所以这里是 class:
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 的 class 初始化的,这个 Mezo[][] m class 有我想访问的方法,但是没有为其命名,例如 m.getSomething()。
如何以我可以使用 Mezo 方法的方式对其进行初始化?
如果百丽雅只是一个界面会不会更好?
Palya 的意思是像棋盘一样的 6x6 区域,只是用于不同的目的。
我想要6个不同的Palya
问题是您没有为 class Palya
中的 m
字段添加访问级别修饰符,它应该如下所示:
public class Palya {
protected Mezo[][] m; // Note protected keyword
public Palya(Mezo[][] m){
this.m = m;
}
如果没有修饰符被证明,默认情况下只允许在 class 和同一包的成员内部访问。
更多关于 Java 中的访问修饰符 - official docs
所以这里是 class:
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 的 class 初始化的,这个 Mezo[][] m class 有我想访问的方法,但是没有为其命名,例如 m.getSomething()。 如何以我可以使用 Mezo 方法的方式对其进行初始化? 如果百丽雅只是一个界面会不会更好? Palya 的意思是像棋盘一样的 6x6 区域,只是用于不同的目的。 我想要6个不同的Palya
问题是您没有为 class Palya
中的 m
字段添加访问级别修饰符,它应该如下所示:
public class Palya {
protected Mezo[][] m; // Note protected keyword
public Palya(Mezo[][] m){
this.m = m;
}
如果没有修饰符被证明,默认情况下只允许在 class 和同一包的成员内部访问。
更多关于 Java 中的访问修饰符 - official docs