【发布时间】:2016-03-31 12:07:14
【问题描述】:
我有一个扩展 Entity.java 的 Player.java 类。在实体中,我定义了 x 和 y 坐标。在 Game.java 中,我创建了一个玩家对象:Player player = new Player(0, 0);。 Entity.java 中 x 和 y 变量的可见性应该是多少?我不想直接在 Game.java 中设置它们,但如果我将它们设为私有,我将无法从子类 Player.java 访问它们。我是否应该只在 Entity.java 中创建 getter 和 setter,并且当我需要 Player.java 类中的 x 和 y 时调用这些方法?这意味着每次我需要在 Player.java 中计算 x 和 y 时,我都需要调用 getter 和 setter。
Main.java
Player player = new Player(0,0);
Player.java
public Player(int x, int y) {
super(x, y);
}
Entity.java
private/public int x;
private/public int y;
public Entity(int x, int y) {
this.x = x;
this.y = y;
}
【问题讨论】:
-
你可以让他们
protected。
标签: java oop inheritance visibility getter-setter