本帖最后由 做只会飞的鱼 于 2013-10-16 11:35 编辑
第一个问题:private Temp temp ;这个要怎么理解呢?
Demo类的一个成员变量temp是Temp类型的,引用变量名叫temp
第二个问题:能不能给我解释下实现过程,最好能帮我把图片的步骤理清楚,谢谢大家了!
1,main方法里通过new Demo() ;
调用Demo类的无参构造器Demo()
2,Demo()无参构造器通过
this.temp = new Temp(this) ;
调用Temp类的构造器Temp(Demo demo)
这里的参数this既是当前要实例化的Demo类的对象
3,Temp(Demo demo)构造器通过
this.demo = demo ;//这里的this是Demo类实例化的这个对象
使传进来的参数Demo引用的对象被Temp的成员变量demo引用
4,Temp(Demo demo)构造器执行完毕,继续执行
Demo()构造器的下一行代码:
this.temp.fun() ;
调用调用构造器实例化的当前对象(this)的成员变量temp的fun()方法
5,temp属性的方法fun()又通过
this.demo.print() ;
调用temp对象的成员变量demo的print()方法
6,demo对象调用print()方法打印出helloworld.
程序运行结束.
其实就是两个类的对象互为对方的成员变量,在实例化Demo类的对象时候
通过一系列互相调用对方的构造方法,实例方法.就是让你知道
你调用了一个类的实例方法或者构造方法,那里面的this就指代这个类的调用这个方法的当前对象.
|
|