zoukankan      html  css  js  c++  java
  • jvm对类的加载顺序测试

    父类

    package test;

    public class Parent {
        
        public static int a = menthod2();
        public int b = 11;
        {
            System.out.println("父快类的非静态块");
        }
        
        static {
            System.out.println("父类的静态块");
        }
        
        public Parent(){
            System.out.println("父类的构造函数");
        }
        
        public static void menthod(){
            System.out.println("父类的静态方法");
        }
        
        public static int   menthod2(){
            System.out.println("父类的静态变量");
            return 10;
        }
        
        public void menthod1(){
            System.out.println("父类的非静态方法");
        }

    }

    子类

    package test;

    public class Parent {
        
        public static int a = menthod2();
        public int b = 11;
        {
            System.out.println("父快类的非静态块");
        }
        
        static {
            System.out.println("父类的静态块");
        }
        
        public Parent(){
            System.out.println("父类的构造函数");
        }
        
        public static void menthod(){
            System.out.println("父类的静态方法");
        }
        
        public static int   menthod2(){
            System.out.println("父类的静态变量");
            return 10;
        }
        
        public void menthod1(){
            System.out.println("父类的非静态方法");
        }

    }

    测试得到

    public class Test {
        public static void main(String[] args) {
            Child child = new Child();
            child.menthod();
            
        }

    }

    输出:

    父类的静态变量
    父类的静态块
    子类的静态变量
    子类的静态块
    父快类的非静态块
    父类的构造函数
    子类的非静态块
    子类的构造函数
    子类的静态方法

    说明Jvm的执行顺序是:

    父类的静态变量----->父类的静态块----->子类的静态变量------>子类静态块------>父类的非静态块------>父类的构造函数------>子类的非静态块---子类的构造函数

    ----->子类的静态方法

    注意: char类型的基本类型初始化的时候值为null

       一个构造函数中只能调用另外一个构造函数,不能同时调用两个构造函数..

  • 相关阅读:
    JS判断鼠标从什么方向进入一个容器
    [JS进阶] 编写可维护性代码 (1)
    CSS3 animation小动画
    如何使用js捕获css3动画
    webpack入门(译)
    js拖拽3D立方体旋转
    简单3D翻转
    html 基础
    python 并发编程
    python 网络编程
  • 原文地址:https://www.cnblogs.com/working/p/3585269.html
Copyright © 2011-2022 走看看