解释一下这个Java程序,想知道那个构造方法是怎么返回值的,返回的是什么值?这个程序是按照怎样的顺
解释一下这个Java程序,想知道那个构造方法是怎么返回值的,返回的是什么值?这个程序是按照怎样的顺序执行的??...
解释一下这个Java程序,想知道那个构造方法是怎么返回值的,返回的是什么值?这个程序是按照怎样的顺序执行的??
展开
展开全部
这个问题其实比较简单呀.. 不过如果要理解内部的一些原理就比较麻烦了.. 首先是new 了一个House对象,这时它的执行顺序应该是 先执行House类中的static代码块,但是由于没有,所以没有执行,然后就去找House类中的成员变量初始化(也就是去new Window对象出来,执行顺序也是这样的),最后再执行自己的构造函数. 构造方法是不能有返回值的,它只能有不同的参数列表~
总之就是,有static的,先执行static,有多个static则按顺序执行,然后再初始化成员变量,同样是按顺序执行.最后才调用构造方法. 因为在初始化成员变量的时候,也是按这个顺序执行的,就有一种递归的感觉.
总之就是,有static的,先执行static,有多个static则按顺序执行,然后再初始化成员变量,同样是按顺序执行.最后才调用构造方法. 因为在初始化成员变量的时候,也是按这个顺序执行的,就有一种递归的感觉.
更多追问追答
追问
是不是当看到第20行的House h=new House();时,就开始去执行House中的引用成员变量w1,w2和w3,也就是输出执行上面的Window?
是不是看到Window w1=new Window(1)时,就去执行Window啦?
展开全部
构造方法没有返回值
更多追问追答
追问
嗯嗯,那是怎么输出来那些值的呢??
追答
过程是这样的:
main方法new一个House对象,先加载House类,初始化静态成员,再初始化成员变量,则要new3个window对象,参数分别是,1,2,3,则输出,“Window(1),Window(2),Window(3),”初始化完毕,再调用House构造方法,输出“House()”
还要new一个window对象,参数33,则输出“Window(33)”,然后这个house对象要调用f()方法,f方法是,输出“f()”
则全部结果就是:
Window(1)
Window(2)
Window(3)
House()
Window(33)
f()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询