如何从另一个类访问一个变量?

时间:2016-10-12 18:13:15

标签: java android-studio

我现在不在我的编程计算机上,所以我无法发布代码。我一直在上网,从Udemy那里上课,所以我还在学习很多东西。

我查看过相当数量的帖子,但他们发布的代码看起来如此漫长而复杂,令人感到困惑。我尝试过使用静态变量,但 数据需要更改

这是在Android工作室。 如何从另一个班级的一个班级访问数据?

第一类: //班级名称是" ClassOne"

// Integer是名为 myNum 的int,等于 1

第二类: //班级名称是" ClassTwo"

//我希望我的新int myNewInt myNum 相等

3 个答案:

答案 0 :(得分:1)

有几种方法可以做到。

  1. 创建Class One的对象并通过该对象访问字段或创建getter和setter方法。
  2. 将字段声明为静态并直接访问。

答案 1 :(得分:0)

  • 如果字段myNum被声明为public,您可以通过以下方式访问它 通过键入对象instance.myNu

  • 的名称来创建任何其他类
  • 如果提交的myNum声明为public static,您可以访问它 通过键入name of the class.myNum

  • 从任何其他课程中输入
  • 如果字段myNum是私有的,则需要getter和setter,即 从类的实例访问该文件的方法 包含它。谷歌他们要快速了解他们为什么有用的原因 为什么要使用它们。

实施例

//public

ClassOne instance = new ClassOne();

ClassTwo instante2 = new ClassTwo();

instance2.myNewInt = instance.myNum;

//public static

ClassTwo instante2 = new ClassTwo();

instance2.myNewInt = ClassOne.myNum;

//getter

 ClassOne instance = new ClassOne();

 ClassTwo instante2 = new ClassTwo();

 instance2.myNewInt = instance.getMyNum();

 //and inside of ClassOne you'll have

  private int MyNum = 5;

  public getMyNum(){

     return MyNum;  

  }

注意:

如果变量仅在本地声明(在ClassOne方法之一的主体内),则您需要将其分配给字段,以便稍后可以从其他类访问它。

阅读材料:

Getters and Setters

Access modifiers

答案 2 :(得分:0)

您应该在第一个类

中创建一个getter方法
public int getMyNum(){
         return myNum;
}

在第二课中,你应该有一个字段myNewInt

的setter方法
  

public void setMyNewInt(int num){this.myNewInt = num; }

无论您在何处运行代码

myObject2.setMyNewInt(myObject1.getMyNum());

对不起,如果有任何错误,请在公共汽车上写下这个xD