证明加载类的动作仅发生一次
来源:互联网 发布:node pdf导出 编辑:程序博客网 时间:2024/05/17 16:15
public class Ex23 extends B{ //3 (i,j,k ==1 static int k = printInit("Ex23 k initializer"); Ex23(){ System.out.println("Ex23 constructor"); } public static void main(String args[]){ //4 System.out.println("hi"); // System.out.println(new A()); System.out.println(C.a); D d = new D(); }}class D{ D(){ //10 System.out.println("D constructor"); }}class C{ //7 (k == 1 static int k = printInit("k initializer"); static A a = new A(); static int printInit(String s){ System.out.println(s); return 1; }}class B extends A{ //2 static int j = printInit("j initializer"); B(){ System.out.println("B constructor"); }}class A{ //1 static int i = printInit("i initializer"); static int printInit(String s){ System.out.println(s); return 1; } A(){ //5 //8 System.out.println("A constructor()"); } @Override //6 //9 public String toString(){ return "A toString"; }}
控制台输出顺序为
i initializerj initializerEx23 k initializerhiA constructor()A toStringk initializerA constructor()A toStringD constructor
由此可见,类的加载仅在该类的第一个实例的创建或者对static成员的访问时才发生。
0 0
- 证明加载类的动作仅发生一次
- Java 如何证明加载类的动作仅发生一次。证明该类的第一个实体的创建或者对static成员的访问都有可能引起加载
- 190页23题--证明类只被加载一次
- boost仅运行一次的例程
- Android 一次点击动作的分析
- 记录一次软件Bug发生的过程
- fullgc一小时发生一次的原因
- 加载动作
- 按钮仅提交一次
- 新版Spring4.0中加载配置文件的类发生改变
- cesium 中地图发生了平移,放缩,旋转等动作所要执行的动作
- CCActionEase(可以对动作进行包装 使动作的in和out速度发生改变 使动作更平滑)
- .net cs程序仅启动一次的方法
- 仅执行一次的工作排程--atd服务
- VS2010中仅一次配置opencv的方法
- 【算法练习】找出数组中仅出现一次的数字
- SpannableStringBuilder.setSpan多次设置仅最后一次有效的问题
- 找出数组中出现仅一次的数字
- 分红包算法
- 【MVC框架】——Global.asax文件中的RegisterGlobalFilters()和RegisterRoutes()方法
- 获取文件mime_type类型
- 关于调试PLX9054的一些总结和经验
- iOS逆向笔记第一天
- 证明加载类的动作仅发生一次
- HDOJ2072单词数
- vpn下使用git无法克隆https项目的解决方案
- uva1572——自组(World Final 2013,图论模型)
- C#语法总结篇---写在开头的部分
- IOS开发之tableview单选
- 红与黑
- 批量插入数据 C# SqlBulkCopy使用
- hdoj-1213-How Many Tables【并查集】