java中this参数传递问题 B,b = new B(new A());是什么意思?还有就是代码执行详细流程,打印信息没懂 ,
2个回答
展开全部
B b = new B(new A())的意思就是初始化了一个对象B,调用的是类B中的B(A a)方法。参数中传递的A对象是直接new出来的,匿名对象,和A a = new A(); B b = new B(a);这种方式其实是一样的。
程序过程就是这样的,先执行main方法里的new A(),调用的类A里的A()构造方法,构造方法调用类B的print()方法。B的print()方法又调用类A的print方法,打印出Hello From A,然后B的print()方法打印出Hello From B。到此代码执行完毕。
程序过程就是这样的,先执行main方法里的new A(),调用的类A里的A()构造方法,构造方法调用类B的print()方法。B的print()方法又调用类A的print方法,打印出Hello From A,然后B的print()方法打印出Hello From B。到此代码执行完毕。
追问
还是不懂,为什么首次调用的是类A里的A()构造方法,怎么知道的?newB(this).print();这个this具体是指什么?只是单纯打印Hello From A/B?有实际含义吗?
2017-10-17
展开全部
不懂就不懂吧,这个demo没什么意义
追问
我真的超想搞懂这个问题的,看的一头雾水,,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询