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 }

    运行结果:

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

  • 相关阅读:
    调整vmware虚拟机硬盘空间的方法
    微型网络IP转换工具
    初观线程(1)
    Linux逻辑盘卷管理LVM详解(转载)
    微型IP转换工具V1.0升级版
    android 模拟器一键root
    android自用小软件"小毛毛起床啦!“<1>
    很久没更新博客了,写下最近的情况
    解决skype突然无法启动的问题(原创)
    OllyDBG处理C++ EH exception异常
  • 原文地址:https://www.cnblogs.com/linliquan/p/11254138.html
Copyright © 2011-2022 走看看