另一个班级

时间:2015-10-20 13:55:31

标签: java oop

我在x类中有一个变量。我有另一个名为“Y”的类来访问变量。如果值在Y类中递增,它会改变X类中的值吗?

3 个答案:

答案 0 :(得分:1)

Java使用pass by value但是我们可以通过将对象作为参数传递给这样的方法来实现您的要求:

public class ClassX {

public int classId;

public ClassX(int id) {
    this.classId = id;
}

public void setId(int id) {
    classId = id;
}

public int getId() {
    return classId;
}
}


public class ClassY {
public static void main(String[] args) {
    ClassX cx = new ClassX(100);
    ClassY cy = new ClassY();

    System.out.println("classId:"+cx.classId);
    cy.modifyId(cx); // an object is passed as argument to a method
    System.out.println("classId:"+cx.classId);

}

public void modifyId(ClassX classx) {
    classx.setId(220);
}
}

答案 1 :(得分:0)

假设你已将其定义为

public int anInteger = 4;

然后是的,它会改变。

这些是从实验中学到的最好的东西,尝试各种方法来构造类,声明变量并访问它。看看会发生什么。

答案 2 :(得分:0)

是。您所需要的只是将对它的引用传递给另一个类。