我在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?
}
答案 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;
}
}