2

我将如何从另一个 java 类访问一个 java 类中的数据?例如,我在 class_one.java 中声明了一个具有值的整数,并希望在 class_two.java 中使用该数据。

4

7 回答 7

3

要么将变量声明为公共:

public class class_one {
  public Integer myValue;
}

或创建一个公共 getter(首选),例如:

  public class class_one {
    private Integer myValue;

    public Integer getMyValue() {
      return myValue;
    }
  }
于 2013-01-24T20:01:49.720 回答
1

通过getter 方法公开您的变量,并在所需类的实例上调用该方法。

于 2013-01-24T20:01:14.680 回答
0

在另一个类中创建第一个类的实例并简单地使用它的变量,如果在第一个类中声明为 public。

class Foo
{
   public int a=10; 

}

在另一个班级,这样做

Foo a=new Foo();
int test = a.value;
于 2013-01-24T20:02:10.383 回答
0

a)public:对所有类可见
b)protected:在同一包中的子类和类中可见
c)default:对于同一包中的类可见

这适用于变量和方法访问。

于 2013-01-24T20:02:37.240 回答
0

一种是构建一个“get”函数,该函数将返回所需的值

public int getA(){
   return a;
}

另一个简单的解决方案是使用静态变量。将“静态”关键字放在变量之前:

static int a=5;

并访问您使用该类的变量:

Class_One.a;

这将使用变量,就好像它在同一个类中一样。

于 2013-01-24T20:05:24.400 回答
0

这取决于你的变量是如何声明的。这是Oracle教程:

http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

于 2013-01-24T20:05:50.157 回答
0

您可以使用以下任一方式访问另一个 java 类中的一个 java 类的变量:

  1. 将访问变量声明为 public 并在其他类中直接访问它。但是你应该避免它,因为它会导致紧密耦合。
  2. 将访问变量声明为私有并通过 getter Method 访问它。这是访问变量的首选方式,因为它可以防止变量在其他类中意外更改。
  3. 使用reflection包。
于 2013-01-24T20:07:57.900 回答