public class Buildings {
public int getLevel(){
return level;
}
}
public class MainBuilding extends Buildings{
public static final int cost = 200;
public static int level = 1;
}
MainBuilding main = new MainBuilding();
main.getLevel();
我想要有几个不同的instants变量,如level和cost,但它们应该有相同的方法getLevel(),只返回级别。我无法找到如何使用java ...
答案 0 :(得分:0)
要么将level
变量(可能应该是实例变量而不是静态变量)移动到Buildings
或 make { {1}}抽象,以便每个子类必须单独实现它(无论是通过返回变量,还是只返回一个常量,或者其他什么 - 这是一个实现细节)。
答案 1 :(得分:0)
我相信他们的示例代码中存在一些错误。这些是
您尚未在Buildings类中定义级别变量。
静态方法只能使用静态变量。 (在MainBuilding变量级别是静态的。但构建方法是非静态的)
这里你可以简单地解决这两个问题,然后执行getlevel()函数就可以了。
答案 2 :(得分:-1)
public class Buildings {
private int level;
public int getLevel(){
return level;
}
public int setLevel(l){
level = l;
}
}
public class MainBuilding extends Buildings{
public static final int cost = 200;
public MainBuilding() {
setLevel(1);
}
}