zoukankan      html  css  js  c++  java
  • 对象初始化优先级

    初始化优先级:静态代码块>>main方法>>构造代码块>>构造函数

     1 package com.itinfo;
     2 
     3 /**
     4  * 代码块的优先级
     5  * http://www.cnblogs.com/goodcheap
     6  *
     7  * @author: Wáng Chéng Dá
     8  * @create: 2017-02-26 19:12
     9  */
    10 public class CodeBlock {
    11 
    12     static {
    13         System.out.println("go to------>>>>>(CodeBlock--static{})");
    14         System.out.println("I am CodeBlock static code block!
    ");
    15     }
    16 
    17     {
    18         System.out.println("go to------>>>>>(CodeBlock--{})");
    19         System.out.println("I am CodeBlock code block!
    ");
    20     }
    21 
    22     public CodeBlock() {
    23         System.out.println("go to------>>>>>(CodeBlock--CodeBlock(){})");
    24         System.out.println("I am CodeBlock Constructor!
    ");
    25     }
    26 
    27 }
    28 class TestCodeBlock extends CodeBlock {
    29 
    30     static {
    31         System.out.println("go to------>>>>>(TestCodeBlock--static{})");
    32         System.out.println("I am TestCodeBlock static code block!
    ");
    33     }
    34 
    35     {
    36         System.out.println("go to------>>>>>(TestCodeBlock--{})");
    37         System.out.println("I am TestCodeBlock code block!
    ");
    38     }
    39 
    40     public TestCodeBlock() {
    41         System.out.println("go to------>>>>>(TestCodeBlock--public TestCodeBlock(){})");
    42         System.out.println("I am TestCodeBlock Constructor!
    ");
    43     }
    44 
    45     public static void main(String[] args) {
    46         System.out.println("go to------>>>>>(main)");
    47         System.out.println("I am main method!
    ");
    48         CodeBlock block = new TestCodeBlock();
    49     }
    50 }

    控制台输出:

    go to------>>>>>(CodeBlock--static{})
    I am CodeBlock static code block!

    go to------>>>>>(TestCodeBlock--static{})
    I am TestCodeBlock static code block!

    go to------>>>>>(main)
    I am main method!

    go to------>>>>>(CodeBlock--{})
    I am CodeBlock code block!

    go to------>>>>>(CodeBlock--CodeBlock(){})
    I am CodeBlock Constructor!

    go to------>>>>>(TestCodeBlock--{})
    I am TestCodeBlock code block!

    go to------>>>>>(TestCodeBlock--public TestCodeBlock(){})
    I am TestCodeBlock Constructor!

     

    多态状态对象初始化优先级总结:父类静态代码块>>子类静态代码块>>main方法>>父类构造代码块>>父类构造函数>>子类构造代码块>>子类构造函数

  • 相关阅读:
    条形码分类
    ubuntu下配置j2ee开发环境——sunjdk1.6的安装
    折腾的这几天
    Windows Phone 8 开发环境搭建
    Windows Phone SDK 8.0的安装软硬件配置要求
    ubuntu连接无线网遇到的错误和解决思路总结(无具体过程)
    解析html标签并转化成图片
    javaIO的类备忘
    ubuntu下配置j2ee开发环境——sunjdk1.7的配置
    Jmeter之JDBC Request及参数化
  • 原文地址:https://www.cnblogs.com/chinda/p/6445552.html
Copyright © 2011-2022 走看看