• Java 类初始化顺序


    总的来说:

    父类静态代码块->子类静态代码块->子类main()方法->父类构造块->父类构造方法->子类构造块->子类构造方法

    注意,就算是静态的方法也需要调用才能使用,初始化只涉及到属性和构造块、构造方法,不涉及到一般的方法。

    package com.tonyluis;
    
    class superClass {
    	public superClass() {
    		System.out.println("构造方法");
    	}
    
    	{
    		System.out.println("构造块");
    	}
    	static {
    		System.out.println("静态方法块");
    	}
    }
    
    public class Test extends superClass {
    	public static void main(String args[]) {
    		System.out.println("Test main");
    		//Test test = new Test();
    	}
    
    	public Test() {
    		System.out.println("Test构造方法");
    	}
    
    	{
    		System.out.println("Test构造块");
    	}
    	static {
    		System.out.println("Test静态方法块");
    	}
    
    }
    

    输出:

    静态方法块
    Test静态方法块
    Test main

    取消掉main()方法的注释,输出

    静态方法块
    Test静态方法块
    Test main
    构造块
    构造方法
    Test构造块
    Test构造方法

  • 相关阅读:
    最近重感冒完全不知道知己在记什么

    倾尽一生
    学习笔记,函数
    唯美句
    02 mysql 基础二 (进阶)
    01 mysql 基础一 (进阶)
    16 正则表达式
    15 迭代器、生成器、模块和包
    14 异常
  • 原文地址:https://www.cnblogs.com/tonyluis/p/5797573.html
Copyright © 2020-2023  润新知