我确信答案比我想象的要容易,而且我有点筋疲力尽,如果你发现我的问题,那就很抱歉......嗯。
让我们考虑以下两个类:
public class Objet1 {
private Objet2 obj;
//getter & setter
}
public class Objet2 {
public void myFunc(Objet1 objj) {
// blabla
}
}
在myFunc中我需要访问Object1的一些方法,这就是我在params中使用Object1的原因。
有没有其他解决方案来访问它?
因为我必须写Object1 ob = new Object1(); ob.getObject2().myFunc(ob);
之类的东西
我不认为/知道它是否是一个很好的使用java ..
我在Object2类中'我想知道是否有可能访问Object1,它在attr中有我的实际Object2而没有通过另一个param
提前致谢,对不起,如果我没有使用商品条款,那肯定是我找不到答案的原因
答案 0 :(得分:0)
您可以创建myFunc static
,然后使用
Objet2.myFunc(ob);
但是如果你创建函数static
,则无法访问Objet2实例的实例变量,那么将myFunc()
置于Objet1类中会更有意义。 “正确”实施取决于您在myFunc()
中要执行的操作。
答案 1 :(得分:0)
要访问对象,您必须具有对它的引用。因此,您必须将引用作为参数传递,就像您已经做的那样,或者将引用存储在某个静态变量中,这不是一个好主意。 可能是你应该将函数移动到Object1
public class Objet1 {
private Objet2 obj;
//getter & setter
public void myFunc() {
// blabla
}
}
如果函数使用Object2的某些属性,可以将Object1和Object2合并为单个类。
答案 2 :(得分:0)
ob.getObject2().myFunc(ob);
也可以缩短为
ob.myFunc();
添加以下内容:
class Objet1 {
private Objet2 obj;
public void myFunc() {
this.obj.myFunc(this);
}
}
相关阅读: