博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
静态块(变量)和非静态块(变量)
阅读量:5082 次
发布时间:2019-06-13

本文共 1251 字,大约阅读时间需要 4 分钟。

package staticinit.one;public class Main1 {
public static void main(String[] args) { System.out.println("第一遍初始化StaticOrInstance..."); new StaticOrInstance(); System.out.println("第二遍初始化StaticOrInstance..."); new StaticOrInstance(); /* * 输出结果: * 第一遍初始化StaticOrInstance... * Mug(3) * Mug(4) * Mug(1) * Mug(2) * StaticOrInstance constructor... * 第二遍初始化StaticOrInstance... * Mug(1) * Mug(2) * StaticOrInstance constructor... */ }}class StaticOrInstance { public Mug mug1; public Mug mug2; public static Mug mug3; public static Mug mug4; { mug1 = new Mug(1); mug2 = new Mug(2); } static { mug3 = new Mug(3); mug4 = new Mug(4); } public StaticOrInstance() { System.out.println("StaticOrInstance constructor..."); }}class Mug { public Mug() { } public Mug(int i) { System.out.println("Mug(" + i + ")"); }}

注:1.在类初始化时,先初始化静态块或变量,再初始化非静态块或变量(StaticOrInstance类中静态块位于非静态块后面,但是输出结果中静态块先初始化);2.静态块或变量只会在第一次初始化时初始化,而非静态块或变量会在每一次类初始化时执行初始化(在第二次初始化时静态块没有再次初始化);3.静态块(变量)和非静态块(变量)均在构造方法之前被初始化。

转载于:https://www.cnblogs.com/wjc920/p/9256175.html

你可能感兴趣的文章
BZOJ2982: combination Lucas
查看>>
OpenCV下的图片旋转(转)
查看>>
WPF 一个弧形手势提示动画
查看>>
随手练——回文串专题
查看>>
线段树详解 (原理,实现与应用)
查看>>
Ubuntu 登陆异常-输入正确的密码后还会返回到登陆界面的问题
查看>>
JQ轮播小demo
查看>>
【原创】大叔问题定位分享(20)hdfs文件create写入正常,append写入报错
查看>>
2016 西班牙 国家德比(西甲31轮)
查看>>
CArichive每次读写一行
查看>>
让QT支持中文的方法
查看>>
dos批处理知识
查看>>
多文档界面的实现(DotNetBar的superTabControl)
查看>>
3.字符串
查看>>
关于深复制与浅复制
查看>>
js 重写a标签的href属性和onclick事件
查看>>
关于需要授权处理获取数据的跳转
查看>>
17Web服务器端控件
查看>>
历年春节日期
查看>>
关于消除MySQL输入错误后的警报声
查看>>