class A{
private B b = null ;
public void fun(){
this.b = new B(this) ; //this.b中的this是防止局部变量隐藏成员变量,B(this)指的是传入本类对象的引用
this.b.fun() ; //this.b是一个B类类型的对象,这里调用B类中的fun()方法。
}
public void print(){
System.out.println("Hello World!!!") ;
}
};
class B{
private A a = null ;
public B(A a){
this.a = a ; //这里的this是防止局部变量隐藏成员变量,相当于:this.成员变量
}
public void fun(){
this.a.print(); //this.a是一个A类类型的对象,这里调用A类中的print()方法。
}
};
public class ThisDemo07{
public static void main(String args[]){
new A().fun() ; //创建一个A类类型的匿名对象,然后调用其中fun()方法;
}
}; |