类成员
- 成员变量
- 成员函数
- 构造函数
- 构造代码块
- 静态代码块
解释
- 先执行静态代码块,静态成员(谁在前就先执行谁)。无论new几次 静态代码块和静态成员只执行一次
再执行成员变量,最后构造函数。new几次 成员变量和构造函数 执行几次。 - 成员变量有默认值
- 构造代码块:如果不同的构造函数都要执行相同的部分,就放到构造代码块之中
- 静态代码块:在类加载期间执行,只执行一次,在构造代码块之前就已经调用,而二者都是跟对象一起产生;通常放置跟静态变量初始化过程(狗的颜色默认为黄色)(这个狗必须是静态变量)
- 非静态成员只能通过对象来访问,静态成员通过类来访问
- 静态成员只能访问静态成员,无法访问非静态的;但是非静态成员可以访问静态成员
- 静态成员之间可以互相访问,需要按照顺序执行
对象创建过程
- 构造代码块:由上到下按序执行
- 构造函数