从不同包中的类获取Activity类中的变量的最佳方法?

时间:2012-03-26 22:20:21

标签: java android

我有一个扩展Activity类的A类。这个类是包aaa。我有一个包含aaa.extensions的B类。在A类中访问变量的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

如果你的类B是在类A中创建的,通常它是通过将类A的实例传递给类B的构造函数来解决的,所以类B的新实例可以使用类A的实例。

答案 1 :(得分:2)

要么我不理解这个问题,要么它是非常基本的。你需要做的是在你的A类中提供访问方法,所以任何其他类中的任何类都可以访问那个"变量"通过将A的实例提供给任何其他想要/需要访问其内部状态的类来在A类中声明。

class A {
   private String name;  // internal private attribute (variable) for class A

   public String getName() {  // public access method for attribute "name"
       return name;
   }
}

class B {
   private A instanceOfA;   // internal private reference to class A

   public B(A instanceOfA) {   // public constructor of class B, which requires an instance of A as a parameter
        this.instanceOfA = instanceOf;
   }

   public void doNothing() {  // example method accessing A's attribute "name"
         System.out.println(instanceOfA.getName());
   }
}