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

Java 从不同包中的类获取活动类中变量的最佳方法?,java,android,Java,Android,我有一个扩展活动类的类A。这个类在aaa包中。我有包aaa.extensions中的B类。访问类A中变量的最佳方式是什么?如果您的类B是在类A中创建的,通常通过将类A的实例传递给类B的构造函数来解决,因此类B的新实例可以在内部使用类A的实例。如果您的类B是在类A中创建的,通常它是通过将类A的实例传递给类B的构造函数来解决的,因此类B的新实例可以在内部使用类A的实例。要么我不太理解这个问题,要么它确实很基本。您需要做的是在类A中提供访问方法,这样无论是什么包中的任何其他类都可以访问在类A中声明的“

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

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

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

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

要么我不太理解这个问题,要么它真的很基本。您需要做的是在类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());
   }
}