我必须跟踪另一个对象引用了多少个对象,让我们说我有一个类月亮引用行星类:
private String moonName;
private planet planet;
public bulan(String moonName, planet planet) {
this.moonName = moonName;
this.planet = planet;
planet.addMoon(moonName);
}
然后我在测试类中创建月球对象:
moon Luna = new moon("Luna",Earth);
我希望班级星球能够#34;知道"那个星球类已经被月球类引用了,怎么做?
答案 0 :(得分:0)
StackOverflow相当新,但我想我可以提供帮助。
在我达到要点之前的一些一般性指示:
private Planet planet
不 private planet planet
Moon moon = new Moon("Luna, Earth")
public Moon(String moonName, Planet planet){}
)现在重点:
现在因为每次调用构造函数时,初始化行星参考对象,我的建议是简单地包含一个实例变量(直到会话结束为止) ),计数器和 getter方法。 例如:
private int numCalled = 0;
public Moon(String moonName, Planet planet){
this.moonName;
this.planet=planet;
planet.addMoon(moonName);
numCalled++;
}
public int getNumCalled(){
return numCalled;
}
答案 1 :(得分:0)
开始使用:
class Moon{
public final String name;
public final Planet planet;
public Moon(String name, Planet planet) {
super();
this.name = name;
this.planet = planet;
}
}
class Planet{
public final String name;
private List<Moon> moons = new ArrayList<>();
public Planet(String name) {
super();
this.name = name;
}
public void addMoon(Moon moon){
this.moons.add(moon);
}
public List<Moon> getMoons(){
return this.moons;
}
}
另请阅读Stephen Ngo关于一般观点的文章。您可能应该阅读Java中的命名约定。