B()
{this(12)--> B(int x) --> 先创建父类实例,类初始化:456 ok, --> 父类构造函数 A(), 打印: AAA ---> 子类初始化: 123 ---〉回到B(int x): CCC ---> 回到 B(): BBB.
2. 不明白你说的是那里的{}
{this(12)--> B(int x) --> 先创建父类实例,类初始化:456 ok, --> 父类构造函数 A(), 打印: AAA ---> 子类初始化: 123 ---〉回到B(int x): CCC ---> 回到 B(): BBB.
2. 不明白你说的是那里的{}
解决方案 »
- 关于没有main的Hello,World!
- 关于pinyin4j-2.5
- 请教大侠为什么这里会抛arraystroeExcepion异常
- 救命啊,spring获取hibernate sessionfactory 失败啊。
- 关于JAVA中同一文件夹中不同程序文件中的类相互调用的疑问
- 有try catch 为什么还有"未报告的异常"
- 如何在点击窗口(类型是JFrame)那个叉叉关闭的时候跳出消息框?
- 如何解决方法返回值和try catch的矛盾,代码见内
- java 可不可以调用window api函数
- com.sun.xml.tree and dbxml.sax do not exist
- 谁知道哪里有jbulider4下载,我的机器跑jbulider5很慢!
- 关于JAVA的对话框
首先一个类应该运行构造函数,但是象这样的程序首先会运行括起来的语句。
现在从new B(),开始执行斧类,这样A执行完以后开始B,然后是B的构造函数,
因为THIS(12),所以会执行B(int x) ,因为JAVA的重载性,再执行后面。
在同一个类中,执行情况是这样的:
(1)先根据先后位置执行类中的静态初始化块(只执行一次)
(2)执行初始化块,每生成一个类实例,初始化块将调用一次
(3)然后才执行构造器的东东。