关于Java中引用的两个问题

来源:百度知道 编辑:UC知道 时间:2024/06/03 21:40:50
1、
如何使用一个实例化的类中存储另一个实例化了的类的一个属性的引用?

例如:
class class1{
String str1;
}
class class2{
class1 cls1;
}
然后我实例化
class1 c1=new class1();
class2 c2=new class2();
c2.cls1=c1;
然后我想用c2.cls1.str1来控制c1.str1的内容,这应该怎么做?

2、
如何让一个函数的参数按引用传递?

谢谢大家!

you can do two things:

1. make variable "str1" public so that you can assign values to it directly, like c1.str1="hello";

2. create a setter for variable "str1":
public void setStr1(String s) { str1 = s; }
then you can do this: c1.setStr1("hello");

public class Class1 {
String str1;

public void display() {
System.out.println(str1);
}

}

public class Class2 {
Class1 cls1;

public Class2(Class1 cls1) {
this.cls1 = cls1;
}

public void display()
{
System.out.println(cls1.str1);
}

}

public class Test {

public static void main(String[] args) {
Class1 c1 = new Class1();
c1.str1 = "你是猪";
Class2 c2 = new Class2(c1);
c2.display();
c2.cls1.str1 = "哈哈哈";
c1.display();
}

}

所谓的引用传递 就是两个对象指向的