zoukankan      html  css  js  c++  java
  • java类中,成员变量赋值第一个进行,其次是静态构造函数,再次是构造函数

    如题是结论,如果有人问你Java类的成员初始化顺序和初始化块知识就这样回答他。下面是代码:

    package com.test;
    
    
    public class TestClass{
        // 成员变量赋值第一个执行
        private static int m1=1;
        private int m2=1;
        
        // 静态构造函数第二个执行
        static{
            System.out.println("成员变量赋值先于静态构造函数 m1="+m1);
            m1=2;
        }
        
        // 构造函数第三个执行
        public TestClass(){
            System.out.println("静态构造函数先于构造函数 m1="+m1);
            m1=3;
            
            System.out.println("成员变量赋值先于构造函数 m2="+m2);
            m2=3;
        }
        
        public void printM1m2(){
            System.out.println("m1="+m1);
            System.out.println("m2="+m2);
        }
        
        public static void main(String[] args){
            TestClass t=new TestClass();
            t.printM1m2();
        }
    }

    控制台输出:

    成员变量赋值先于静态构造函数 m1=1
    静态构造函数先于构造函数 m1=2
    成员变量赋值先于构造函数 m2=1
    m1=3
    m2=3
  • 相关阅读:
    雷林鹏分享:CSS 链接
    雷林鹏分享:CSS 字体
    雷林鹏分享:CSS 文本格式
    转载:64,32位编程问题
    NSTimer 线程操作
    安装推送
    短信在没有网络情况下崩溃
    使用Html来避免写复杂的app代码,跨平台
    ios推送
    APN 推送
  • 原文地址:https://www.cnblogs.com/heyang78/p/7426465.html
Copyright © 2011-2022 走看看