- class Show {
- public Show(String s) {
- System.out.println("初始化:"+s);
- System.out.println("-------");
- }
- }
- class Father {
-
-
- static {
- Show s2 = new Show("父类静态代码块");
- }
- static Show s7 = new Show("父类静态成员变量");
- {
- Show s4 = new Show("父类构造代码块");
- }
- Show s = new Show("父类成员变量");
- public Father() {
- Show s5 = new Show("父类构造方法");
- }
- }
- class Son extends Father {
- static Show s7 = new Show("子类静态成员变量");
- static {
- Show s1 = new Show("子类静态代码块");
- }
-
- Show s = new Show("子类成员变量");
- {
- Show s4 = new Show("子类构造代码块");
- }
- public Son() {
- Show s6 = new Show("子类构造方法");
- }
- }
- public class InitializeOrderDemo {
-
- static {
- Show s3 = new Show("主类静态代码块");
- }
- static Show s1 = new Show("主类静态成员变量");
- {
- Show s4 = new Show("主类构造代码块"); //不new主类不会访问
- }
- Show s2 = new Show("主类成员变量"); //不new主类不会访问
- public static void main(String[] args) {
- Son s = new Son();
- }
- }
- //成员变量初始化和运行代码块的级别一样,看谁在前
- /*
- 初始化:主类静态成员变量
- -------
- 初始化:主类静态代码块
- -------
- 初始化:父类静态成员变量
- -------
- 初始化:父类静态代码块
- -------
- 初始化:子类静态成员变量
- -------
- 初始化:子类静态代码块
- -------
- 初始化:父类构造代码块
- -------
- 初始化:父类成员变量
- -------
- 初始化:父类构造方法
- -------
- 初始化:子类构造代码块
- -------
- 初始化:子类成员变量
- -------
- 初始化:子类构造方法
- -------
- 请按任意键继续. . .
- */
复制代码 怕明天考试没时间发帖了,加载顺序这章总结的小代码也发一下~ 希望大家多多支持~ 喜欢的话多顶,我还会继续写总结
|
|