如何访问在另一个类的一个类中创建的对象

时间:2015-02-28 10:31:17

标签: java

我对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".

我在这里遗漏了什么吗?还有其他方法吗?

3 个答案:

答案 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
   }
}