親クラスでフィールドを定義し、子の値をこのフィールドに割り当てて、タイプでアクセスできるようにする方法はRoom
?int bound = 3;
これで親変数が非表示になると思います...
public abstract class Room {public int bound; }
public class DarkRoom extends Room {
bound = 3;
}
クラス宣言ではなく、コンストラクターでフィールドを割り当てます。
public class DarkRoom extends Room {
public DarkRoom() {
bound = 3;
}
}
クラス初期化ブロックを使用できます。
public class DarkRoom extends Room {
{
bound = 3; // error VariableDeclaratorId expected after this token
// int bound = 3; // hiding?
}
}
DarkRoom
または、クラスのメソッドまたはコンストラクターで初期化を実行します。