java基础与进阶首页投稿(暂停使用,暂停投稿)Android开发

分析java类的静态成员变量初始化先于非静态成员变量

2016-08-05  本文已影响91人  三生浮屠

依上图中当class字节码文件被jvm虚拟机加载到内存中依次经过

1 package com.space.equalstest; 2 3 public class Dog { 4 public static String name = "tom"; 5 6 static { 7 System.out.println("Dog init"); 8 } 9 10 public static void info() { 11 System.out.println("a dog"); 12 } 13 }


1 package com.space.equalstest; 2 3 public class Test { 4 public static void main(String[] args) { 5 Dog.info();//首次主动使用进行初始化 6 Dog.info();//不会再去初始化 7 } 8 }


输出结果:
1 Dog init
2 a dog
3 a dog

上一篇 下一篇

猜你喜欢

热点阅读