首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

能讲解一下这个JAVA吗?解决思路

2012-01-13 
能讲解一下这个JAVA吗?publicclassA{publicA(){newB(this).print()}publicvoidprint(){System.out.printl

能讲解一下这个JAVA吗?
public   class   A   {
public   A()   {
new   B(this).print();
}
public   void   print()   {
System.out.println( "Hello   from   A! ");
}
}


public   class   B   {
A   a;
public   B(A   a)   {
this.a   =   a;
}
public   void   print()   {
a.print();
System.out.println( "Hello   from   B! ");
}
}

为什么运行结果是:Hello   from   A!   Hello   from   B!       ????
烦请大家讲解一下其过程,谢谢了!

[解决办法]
这段代码能运行?没看到main
[解决办法]
请问你的这段代码在那里运行?
[解决办法]
a.print();-> System.out.println( "Hello from A! ");
System.out.println( "Hello from B! ");
[解决办法]
你的意思是在main 里实例化A
执行过程:
1、实例化A,调用A的构造函数,在构造函数中实例化B对象,把这个A对象作为参数传入B的构造函数
public A() { new B(this).print(); }
2、调用B的构造函数print()方法,方法中第一步调用a.print();也就是A.print()输出: Hello from A!
第二步调用System.out.println( "Hello from B! ");输出:Hello from B!


[解决办法]
对不起,你的main函数再那呀

热点排行