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

问题描述:

我有扩展Activity类的类A.这个类在aaa包中。我有B类包在aaa.extensions中。在A类中访问变量的最佳方式是什么?从不同包中的类获取Activity类中变量的最佳方法?

要么我不能很好地理解这个问题,要么它确实是基本的。你需要做的是在你的类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()); 
    } 
} 

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