我有一个小学课程如下:
public class classB{
public classC getObject(String getstring){
return new classC(getstring);
}
}
classC
有一个构造函数:
public class classC{
String string;
public classC(String s){
this.string = s;
}
public methodC(int i){
<using the `string` variable here>
}
}
现在我有一个classA
将使用classB
中创建的对象(当然是classC
的实例)。
public classA{
int a = 0.5;
<Get the object that was created in classB>.methodC(a);
}
这是必要的,因为变量是在用户的某些操作上创建的,并存储在classB
中,这将在classC
的方法中进一步使用。创建一个新对象会将我classB
中的变量设置为null,这是无意的。
我怎样才能做到这一点?
答案 0 :(得分:1)
假设Brand
是一个轻量级对象,Run
是重量级的,然后用轻量级对象的容器创建一个字段并隐藏它是个好主意。
但是Brand
需要访问它所属的容器,可以通过映射完成,但我们只需将Run
注入Brand
,这样就可以更好地实现{{1}用JSR330注释或注释它。并以正常方式通过Runable
访问容器。
Run
答案 1 :(得分:0)
如果你想获得在classB中创建的对象,静态字段应该完成工作
public class classB {
public static objectCReference;
public classC getObject(String getstring){
objectCReference = new classC(getstring);
return objectCReference;
}
}
然后您可以访问A
中的引用public classA {
int a = 0.5;
if (classB.objectCReference != null) { // Make sure to null check
classB.objectCReference.methodC(a);
}
}
另外,请遵循语言约定,并以大写字母开始您的班级名称。