zoukankan      html  css  js  c++  java
  • 关于继承中静态代码块,构造代码块,构造函数执行顺序

     1 class HelloA {
     2 
     3     public HelloA() {
     4         System.out.println("HelloA");
     5     }
     6    
     7     { System.out.println("I'm A class"); }
     8    
     9     static { System.out.println("static A"); }
    10 
    11 }
    12 
    13 public class HelloB extends HelloA {
    14     public HelloB() {
    15         System.out.println("HelloB");
    16     }
    17    
    18     { System.out.println("I'm B class"); }
    19    
    20     static { System.out.println("static B"); }
    21    
    22     public static void main(String[] args) {
    23 
    24         System.out.println("-------main start-------");
    25         new HelloB();
    26         new HelloB();
    27         System.out.println("-------main end-------");
    28     }
    29 }

     Microsoft Windows [版本 6.2.9200]
    (c) 2012 Microsoft Corporation。保留所有权利。

    C:Usersxw>javac HelloB.java

    C:Usersxw>java HelloB
    static A
    static B
    -------main start-------
    I'm A class
    HelloA
    I'm B class
    HelloB
    I'm A class
    HelloA
    I'm B class
    HelloB
    -------main end-------

  • 相关阅读:
    面向领域的微服务架构
    java常用工具类
    java字节码解析
    详解 Java 内部类
    MongoDB配置教程
    oracle18c相关
    VBS编辑文件夹下所有excel文档
    oracle新增主键
    sqlldr加载字符问题
    ora-00257
  • 原文地址:https://www.cnblogs.com/xurui1995/p/5183224.html
Copyright © 2011-2022 走看看