无法在子级中初始化父级中定义的字段

时间:2012-05-05 20:52:31

标签: java oop

如何在父类中定义字段并在子字段中为此字段指定值,以便类型Room可以访问它?我认为这个int bound = 3;会隐藏父变量......

public abstract class Room {public int bound; }

public class DarkRoom extends Room {

     bound = 3;
}

2 个答案:

答案 0 :(得分:4)

在构造函数中分配字段,而不是在类声明中:

public class DarkRoom extends Room {
    public DarkRoom() {
        bound = 3;
    }
}

答案 1 :(得分:1)

您可以使用类初始化块:

public class DarkRoom extends Room {
   {
     bound = 3; // error VariableDeclaratorId expected after this token
         // int bound = 3; // hiding?
    }
}

或在DarkRoom类的方法或构造函数中执行初始化。