zoukankan      html  css  js  c++  java
  • 类加载顺序

    class A{
        public int i = m1();
        public static int j = m2();
        public int k = 0;
    
        public A() {
            System.out.println(1);
        }
    
        public int m1(){
            System.out.println(2);
            return 2;
        }
    
        public static int m2(){
            System.out.println(3);
            return 3;
        }
    }
    

      

    class B extends A{
    
        public int m = m3();
        public static int n = m4();
        public int t = 0;
    
        public B(){
            System.out.println(4);
        }
    
        public int m3(){
            System.out.println(5);
            return 5;
        }
    
        public static int m4(){
            System.out.println(6);
            return 6;
        }
    
        /**
         * 加载顺序:
         *     父类静态(不包括静态方法)--> 子类静态(不包括静态方法) --> sout(7) -->
         *     父类非静态变量 --> 父类构造器 --> 子类变量 --> 子类构造器
         *
         *
         */
        public static void main(String[] args) {
            System.out.println(7);
            A a = new B();
        }
    }
    

    执行结果:

    3
    6
    7
    2
    1
    5
    4

    温故而知新
  • 相关阅读:
    函数
    循环练习
    循环结构
    分支结构
    C语言关键字
    进制编码
    MAC/Xcode简单操作命令
    Hibernate
    Hibernate
    Hibernate
  • 原文地址:https://www.cnblogs.com/Uzai/p/11254812.html
Copyright © 2011-2022 走看看