java中,一个类的两个对象互相引用,是怎么回事?例如:Test test1=bull; Test test2=null; test1.test2=......
不是子类,就是一个类,创建了两个对象,两个对象之间互相引用
例如:
A a1;
A a2;
A a3;
a1.a2=a3;
就是形如这样的引用,我想搞清这到底是属于哪个性质,因为最近要面试,这些概念性的东西很模糊
A a1;
A a2;
A a3;
a1.a2 = a3;--这个肯定是错的。
如果:
A a1 = new A();
A a2 = new A();
a1 = a2;
这样是允许的,但a1的实例就会失去引用,游离在内存等待gc去回收,a1这时去引用a2的实例了。
class Child{
Child nextChild=null;
}
public void createLink(){
Child temp;
Child ch=new Child();
temp.nextChild=ch;
temp=ch;
}
就是形如这样的引用
class Child {
Child nextChild = null;
}
public void createLink() {
Child temp = new Child();
Child ch = new Child();
temp.nextChild = ch;
temp = ch;
}
我把你的类完善了,你写的有问题,没有初始化,
这个就是类的引用,一个类中有自己类的对象。但是temp最后赋值为ch的引用了。nextChild还是为null。
class Child{
Child nextChild=null;
}
public void createLink(){
Child temp;
Child ch=new Child();
temp.nextChild=ch;
temp=ch;
}
就是形如这样的引用
约瑟夫问题,建立链表时,上一个对象指向下一个对象,有这种用法
追答应该不是你说的那样,应该是上个对象的属性指向下个对象的属性...个人觉得应该是这样的!
追问class Child{
Child nextChild=null;
}
public void createLink(){
Child temp;
Child ch=new Child();
temp.nextChild=ch;
temp=ch;
}
就是形如这样的引用
我也试了一下,编译不过,如果真有想你说的那样,看来我还是什么都不知道....
追问temp.nextChild=ch;
这句代码,是根据提示信息打印出来的,输完temp,按快捷键后,选项里面就会有nextChild,是不是要用到构造函数来?
要给temp初始化,空的话是给不了他的属性赋值的,我知道你这样写为什么对了,那时因为你类的对象当成了类的属性了,既然是类的属性那么类的对象就能引用,但是一个空对象引用的话就不行,这跟我们正常的代码编写中的情况是一样的......