标题: this绕口令,来个注释解释解释 [打印本页] 作者: 马伟恒 时间: 2012-4-25 16:40 标题: this绕口令,来个注释解释解释 class A{
private B b = null ;
public void fun(){
this.b = new B(this) ;
this.b.fun() ;
}
public void print(){
System.out.println("Hello World!!!") ;
}
};
class B{
private A a = null ;
public B(A a){
this.a = a ;
}
public void fun(){
this.a.print() ;
}
};
public class ThisDemo07{
public static void main(String args[]){
new A().fun() ;
}
};作者: 应佳锋 时间: 2012-4-25 17:06
lass A{
private B b = null ;//
public void fun(){
this.b = new B(this) ;//把当前对象传递进去 也就是A对象
this.b.fun() ;//执行的是属于A对象里的b对象
}
public void print(){
System.out.println("Hello World!!!") ;
}
};
class B{
private A a = null ;
public B(A a){
this.a = a ;//B对象里的a
}
public void fun(){
this.a.print() ;//执行的是属于B对象里的a对象里的print()
}
};作者: 乔建国 时间: 2012-4-25 17:24
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()方法;
}
};作者: 黄或俊 时间: 2012-4-25 17:38
:handshake作者: 崔仁军 时间: 2012-4-25 20:53
class A{
private B b = null ;
public void fun(){
this.b = new B(this) ;//在实例B对象时 要接受一个参数就是把当前的A对象穿给B
this.b.fun() ;//调用A对象里的成员变量B对象的fun方法
}
public void print(){
System.out.println("Hello World!!!") ;
}
};
class B{
private A a = null ;
public B(A a){
this.a = a ;//将传进来的参数(A对象)赋给当前对象的成员变量的A对象
}
public void fun(){
this.a.print() ;调用B对象里的成员变量A对象的print方法
}
};
public class ThisDemo07{
public static void main(String args[]){
new A().fun() ;
}
};作者: 高彰谦 时间: 2012-4-25 23:02
只是互相建立了引用关系,并不涉及到多态,不会引起可能的混淆,只是简单的调用过程而已.