`
2110901055
  • 浏览: 10280 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

java基础

阅读更多

   今天看了下关于java构造函数的内容,虽然现在对JVM的工作原理之类的了解不是很深,下面是我看的别人的代码,别人总结出来的,有点同感,继续深入了解下去:

public class Son extends Father {
    SonProp r = new SonProp();
    public Son() {
        System.out.println("Son is construct");
    }
    public static void main(String[] args) {
        new Son();
    }
}
class Father {
    FatherProp SonProp = new FatherProp();
    public Father() {
        System.out.println("Father is construct");
    }
}
class SonProp {
    public SonProp() {
        System.out.println("SonProp is construct");
    }
}
class FatherProp {
    public FatherProp() {
        System.out.println("FatherProp is construct");
    }
}执行结果如下:
FatherProp is construct
Father is construct
SonProp is construct
Son is construct

 

几点总结:
(1)对象是由new运算符创建的,且在任何构造函数执行之前就已经创建完毕了
(2)构造函数的执行总是“向上”的:而且总是先执行完父类的构造函数
(3)在构造函数中,没有this()语句则由super()语句。没有this()时,或者自己编写super(),或者由系统自动调
    用 super()  
(4)显式初始化语句总是先于构造函数语句,但后于super()或this()

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics