zoukankan      html  css  js  c++  java
  • java代码块,静态代码块,静态变量,构造方法执行顺序

    一个类中执行顺序:

    静态变量
    静态代码块
    代码块
    构造方法

    子类和父类执行顺序:

    父类静态变量
    父类静态代码块
    子类静态变量
    子类静态代码块
    父类代码块
    父类构造方法
    子类代码块
    子类构造方法

    直接看代码,一目了然。

    public class Test {
    
        public static void main(String[] args) {
            new A();
            /*  结果:
             *  A静态变量
                A静态代码块
                A代码块
                A构造方法
             * */
            new B();
            /*
             *  结果:
             *  A静态变量
                A静态代码块
                B静态变量
                B静态代码块
                A代码块
                A构造方法
                B代码块
                B构造方法
             * */
        }
    
    }
    class A{
        static C c =new C("A");
        {
            System.out.println("A代码块");
        }
        static {
            System.out.println("A静态代码块");
        }
        public A(){
            System.out.println("A构造方法");
        }
    }
    
    class B extends A{
        static C c =new C("B");
        {
            System.out.println("B代码块");
        }
        static {
            System.out.println("B静态代码块");
        }
        public B(){
            System.out.println("B构造方法");
        }
        
    }
    
    class C {
        public C(String str){
            System.out.println(str+"静态变量");
        }
    }
  • 相关阅读:
    VUE单页模板
    Nacos(作为配置中心)
    OpenFeign与Nacos(作为注册中心) 远程调用
    Nacos 服务注册
    Docker 安装Redis
    Docker安装Mysql
    多线程之CAS和ABA
    Volatile
    JAVA语言的特点
    判断多选按钮被选中两种方法
  • 原文地址:https://www.cnblogs.com/jinghun/p/9205144.html
Copyright © 2011-2022 走看看