我对java编程很天真。
如何将在一个类中创建的对象访问到另一个类中。
Class A
{
Obj
}
Class B
{
//Here i want to use Obj
A.Obj
}
对于上面我声明Obj作为公共静态,但是当我在B类中使用它作为A.Obj时,它返回一个语法错误说
"Cannot make a static reference to the non-static field A.Obj".
我在这里遗漏了什么吗?还有其他方法吗?
答案 0 :(得分:0)
是的,如果没有A的实例,你就无法访问。你可以这样做:
System.out.println(new A().Obj);//or define Obj as static in A class.
注意 - 你应该封装你的Obj并通过getter方法访问它。
答案 1 :(得分:0)
您应该使用提供get方法或在静态方法中使用该对象。对于您的信息静态不会被垃圾收集,除非执行停止了解更多关于您的答案use this answer's reference
答案 2 :(得分:0)
首先需要将A类中的Obj声明为静态
class A {
static Object object = new Object();
}
然后你可以使用它
class B {
A.object //in the class cannot be accessed directly
Object x = A.object; //can use it to assign a value
public Object Foo() {
A.object //in a method can be accessed directly
return A.object; //here as expression result
}
}