zoukankan      html  css  js  c++  java
  • java类的实例化顺序

    • 1. 父类静态成员和静态初始化块 ,按在代码中出现的顺序依次执行
    • 2. 子类静态成员和静态初始化块 ,按在代码中出现的顺序依次执行
    • 3. 父类实例成员和实例初始化块 ,按在代码中出现的顺序依次执行
    • 4. 父类构造方法
    • 5. 子类实例成员和实例初始化块 ,按在代码中出现的顺序依次执行
    • 6. 子类构造方法

     总结:父类静态成员和静态代码块->子类静态成员和静态代码块->父类非静态成员和非静态代码块->父类构造方法->子类非静态成员和非静态代码块->子类构造方法

    父类:

     1 public class A {
     2 
     3     public static String a=printStr("父类的静态变量");
     4     public String s = printStr("父类的非静态变量");
     5     static {
     6         printStr("父类的静态块");
     7     }
     8     {
     9         printStr("父类的非静态块");
    10     }
    11     public A(){
    12         printStr("父类构造方法");
    13     }
    14 
    15 
    16     public static String printStr(String str){
    17         System.out.println(str);
    18         return str;
    19     }
    20 }

    子类:

     1 public class B extends A {
     2 
     3     public static String b=printStr("子类的静态变量");
     4     public String st = printStr("子类的非静态变量");
     5    
     6     static {
     7         printStr("子类的静态块");
     8     }
     9     {
    10         printStr("子类的非静态块");
    11     }
    12     public B(){
    13         printStr("子类的构造方法");
    14     }
    15 
    16     //main
    17     public static void main(String[] args) {
    18         new B();
    19     }
    20 }

    运行结果:

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

  • 相关阅读:
    Ubuntu 18.04 设置静态IP
    面试问题总结
    hadoop集群搭建流程
    胡适:天下没有白费的努力
    学习的技术内容
    Windows MySql安装
    MySql 基础知识
    windows maven 安装与配置
    Logstash抽取数据到Elasticsearch(1)
    后台运行导入数据库
  • 原文地址:https://www.cnblogs.com/linliquan/p/11254138.html
Copyright © 2011-2022 走看看