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


    一、知识
    静态:
    (1) 父类静态成员和静态代码块
    (2) 子类静态成员和静态代码块

    非静态:
    (3) 父类非静态成员和非静态代码块
    (4) 父类构造函数
    (5) 子类 非静态成员和非静态代码块
    (6) 子类构造函数

    二、例子

    public class test4 {
    	
    	public static void main(String[] args) {
    		B b = new B();
    	}
    }
    
    class A
    {
    	static{
    		System.out.println("A(父类)的静态代码块");
    	}
    	
    	{
    		System.out.println("A(父类)的代码块(非静态)");
    	}
    	
    	A(){
    		System.out.println("A(父类)的构造");
    	}
    }
    
    class B extends A{
    	static{
    		System.out.println("B(子类)的静态代码块");
    	}
    	
    	{
    		System.out.println("B(子类)的代码块(非静态)");
    	}
    	
    	B(){
    		System.out.println("B(子类)的构造");
    	}
    }
    



    输出:

    A(父类)的静态代码块
    B(子类)的静态代码块
    A(父类)的代码块(非静态)
    A(父类)的构造
    B(子类)的代码块(非静态)
    B(子类)的构造

    三、练习

    四、额外的
    构造代码块: 在类中直接定义没有任何修饰符、前缀、后缀的代码块即为构造代码块每创建一个对象时就会执行一次,且优先于构造函数。
  • 相关阅读:
    反序列化
    反序列化使用
    Serializer序列器
    DRF工程搭建
    JDK目录介绍
    Java环境变量配置
    Java语言的特性
    Java语言概述
    计算机编程语言介绍
    软件开发介绍
  • 原文地址:https://www.cnblogs.com/chz-blogs/p/9381020.html
Copyright © 2011-2022 走看看