Java 无法在父字段中定义的子字段中初始化
如何定义父类中的字段并将子类中的值分配给该字段,以便类型Java 无法在父字段中定义的子字段中初始化,java,oop,Java,Oop,如何定义父类中的字段并将子类中的值分配给该字段,以便类型Room可以访问该字段?我认为这int-bound=3将隐藏父变量 public abstract class Room {public int bound; } public class DarkRoom extends Room { bound = 3; } 可以使用类初始化块: public class DarkRoom extends Room { { bound = 3; // error Vari
Room
可以访问该字段?我认为这int-bound=3代码>将隐藏父变量
public abstract class Room {public int bound; }
public class DarkRoom extends Room {
bound = 3;
}
可以使用类初始化块:
public class DarkRoom extends Room {
{
bound = 3; // error VariableDeclaratorId expected after this token
// int bound = 3; // hiding?
}
}
或者在暗室类的方法或构造函数中执行初始化。在构造函数中分配字段,而不是在类声明中分配字段:
public class DarkRoom extends Room {
public DarkRoom() {
bound = 3;
}
}
为什么要使用匿名构造函数?这不是一个匿名类,因此没有必要。为什么不使用一个构造函数呢?可能有几个构造函数。这只是一个例子。有很多方法可以做到这一点。