博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java虚拟机
阅读量:5830 次
发布时间:2019-06-18

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

1 package exercise;2 3 public class SSClass {4     5     static {6         System.out.println("SSClass");7     }8 9 }
1 package exercise; 2  3 public class SuperClass extends SSClass { 4      5     static { 6         System.out.println("SupperClass init!"); 7     } 8      9     public static int value = 123;10     11     public SuperClass() {12         System.out.println("init SuperClass");13     }14 15 }
1 package exercise; 2  3 public class SubClass extends SuperClass { 4      5     static { 6         System.out.println("SubClass init!"); 7     } 8      9     static int a;10     11     public SubClass() {12         System.out.println("init SubClass");13     }14 15 }
1 package exercise; 2  3 public class NotInitialization { 4      5     public static void main(String[] args) {     6          7         System.out.println(SubClass.value);     8          9     }10         11 }

执行上述代码,运行结果如下:

为什么没有输出SubClass init?

解释一下:对于静态字段,只有直接定义这个字段的类才会被初始化,因此通过其子类来引用父类中定义的静态字段,只会触发父类的初始化而不会触发子类的初始化。

 

转载于:https://www.cnblogs.com/hanw1991/p/7791840.html

你可能感兴趣的文章
位运算
查看>>
Oracle/PLSQL WHERE CURRENT OF Statement
查看>>
Cucumber capybara 每个Scenario登陆一次
查看>>
jQuery-animate万能动画效果
查看>>
11. Java常用类
查看>>
Android应用程序窗口(Activity)的绘图表面(Surface)的创建过程分析
查看>>
数据库返回Hibernate中的get和load有何不同?
查看>>
方法contextOpenNI: 深度图显示方法
查看>>
sdut 2168 Mathmen 优先队列处理区间问题
查看>>
iis 6.0上部署.net 2.0和4.0网站
查看>>
hdu 3665(最短路)
查看>>
HTML <iframe> 标签
查看>>
JSON(Ajax)和JsonP
查看>>
漫谈中国软件(中)
查看>>
九度OJ 1502 最大值最小化(JAVA)
查看>>
算法代码[置顶] 机器学习实战之KNN算法详解
查看>>
leetcode -- Longest Common Prefix
查看>>
郝娜 - 百度百科
查看>>
SmartProg2 Universal, ISP capable programmer
查看>>
jquery常用方法
查看>>