如何从java中的另一个类访问主类中的对象?

时间:2014-11-14 09:02:56

标签: java

我在java语言中有一个主类和两个子类。我可以在Y类中访问xx吗?请帮助我,我需要在我的项目中使用它。

import class X,Y;
public static void main(String[] args) {
xx=new X;
example=new Y;
}
public class Y{
change xx.value;//how can change it?
}    

3 个答案:

答案 0 :(得分:0)

如果我理解了您的问题,那么您可以使用访问者和mutator(如果您愿意,可以使用getter和setter)等等,

static class X {
    public X(int value) {
        this.value = value;
    }
    int value;
    public void setValue(int value) {
        this.value = value;
    }
    public int getValue() {
        return value;
    }
    public String toString() {
        return Integer.toString(value);
    }
}

static class Y {
    public void example(X x) {
        System.out.println("in example");
        x.setValue(x.getValue() + 5);
    }
}

public static void main(String[] args) {
    X xx = new X(10);
    System.out.printf("xx = %s%n", xx);
    Y yy = new Y();
    yy.example(xx);
    System.out.printf("xx = %s%n", xx);
}

输出

xx = 10
in example
xx = 15

答案 1 :(得分:0)

make xx成为类Y的方法的参数,因为JAVA默认使用引用(对象),所以如果你在类Y的方法中改变xx,它也适用于方法main

import class X,Y;
public static void main(String[] args) {
 xx=new X;
 example=new Y;
 example.modify(xx)
}
public class Y{
 public void modify(X xx){ //change xx here)
}  

答案 2 :(得分:0)

使用类型X参数在Y类中创建一个函数,然后可以从Main类调用此函数并更改xx值。

   import class X,Y;
   public static void main(String[] args) 
   xx=new X;
   example=new Y;
   xx=example.changeXValue(xx);
    }
   public class Y{

   public X changeXValue(X xx){
   //change xx here
   return xx;
   }
   }

import class X,Y; public static void main(String[] args) xx=new X; example=new Y; xx=example.changeXValue(xx); } public class Y{ public X changeXValue(X xx){ //change xx here return xx; } }