`
伊瑟卡斐
  • 浏览: 197 次
  • 性别: Icon_minigender_1
  • 来自: 西安
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

类的静态加载顺序简单测试

 
阅读更多
public class A {
static {
System.out.println("A的静态块");
}
public A(){
System.out.println("构造A");
}
}
public class B extends A{
public static B b = new B();
public static int numB = 10;
static {
System.out.println("B的静态块,当前numB="+numB);
}
public B(){
System.out.println("构造B,当前numB="+numB);
}
public static void b(){
System.out.println("B的静态方法,当前numB="+numB);
}
}
public static void main(String[] args) {
B.b();
}
执行结果:
A的静态块
构造A
构造B,当前numB=0 //因为在B b = new B()时立马执行了B的构造,所以numB只是默认的初始值0;
B的静态块,当前numB=10
B的静态方法,当前numB=10
public static void main(String[] args) {
B b = new B();
b.b();
}
执行结果:
A的静态块
构造A
构造B,当前numB=0
B的静态块,当前numB=10
构造A
构造B,当前numB=10
B的静态方法,当前numB=10

父类的静态->子类的静态->父类的初始化块->父类的构造方法->子类的初始化块->子类的构造方法
(静态间按顺序执行,且只加载一次)
分享到:
评论

相关推荐

    javaSE代码实例

    15.3.3 静态/非静态内部类的区别 333 15.4 匿名内部类 334 15.4.1 基于继承的匿名内部类 334 15.4.2 基于接口实现的匿名内部类 335 15.4.3 匿名内部类的初始化 337 15.4.4 匿名内部类作用的体现 337 ...

    Spring.3.x企业应用开发实战(完整版).part2

    17.2.3 单元测试类包结构规划 17.2.4 系统的结构图 17.2.5 PO的类设计 17.2.6 持久层设计 17.2.7 服务层设计 17.2.8 Web层设计 17.2.9 数据库设计 17.3 开发前的准备 17.4 持久层开发 17.4.1 PO类 17.4.2 DAO基类 ...

    Spring3.x企业应用开发实战(完整版) part1

    17.2.3 单元测试类包结构规划 17.2.4 系统的结构图 17.2.5 PO的类设计 17.2.6 持久层设计 17.2.7 服务层设计 17.2.8 Web层设计 17.2.9 数据库设计 17.3 开发前的准备 17.4 持久层开发 17.4.1 PO类 17.4.2 DAO基类 ...

    python cookbook(第3版)

    9.10 为类和静态方法提供装饰器 9.11 装饰器为被包装函数增加参数 9.12 使用装饰器扩充类的功能 9.13 使用元类控制实例的创建 9.14 捕获类的属性定义顺序 9.15 定义有可选参数的元类 9.16 *args和**kwargs的...

    JAVA基础课程讲义

    测试类的定义方式 57 简单的学生类编写示例 58 内存分析 59 属性(field,或者叫成员变量) 59 引用类型 60 类的方法 60 对象的创建和使用 60 构造器(或者叫做构造方法,constructor) 60 垃圾回收机制(Garbage ...

    Java范例开发大全 (源程序)

     实例167 继承关系的加载顺序 266  实例168 如何访问同名的方法或变量 268  实例169 super()方法的使用 271  实例170 this方法的使用 274  实例171 一张考试成绩单 275  实例172 银行自动存取一体机 278 ...

    java范例开发大全(pdf&源码)

    实例167 继承关系的加载顺序 266 实例168 如何访问同名的方法或变量 268 实例169 super()方法的使用 271 实例170 this方法的使用 274 实例171 一张考试成绩单 275 实例172 银行自动存取一体机 278 9.4 多态 284 实例...

    java范例开发大全源代码

     实例167 继承关系的加载顺序 266  实例168 如何访问同名的方法或变量 268  实例169 super()方法的使用 271  实例170 this方法的使用 274  实例171 一张考试成绩单 275  实例172 银行自动存取一体机...

    java范例开发大全

    实例167 继承关系的加载顺序 266 实例168 如何访问同名的方法或变量 268 实例169 super()方法的使用 271 实例170 this方法的使用 274 实例171 一张考试成绩单 275 实例172 银行自动存取一体机 278 9.4 多态 284 实例...

    java初学者必看

    10.6 静态嵌套类 10.7 内部类的继承 10.8 本章习题 第11章 线程 11.1 线程基础 11.1.1 什么是线程 11.1.2 Thread创建线程 11.1.3 Thread创建线程步骤 11.1.4 Runnable接口创建线程 11.1.5 Runnable创建线程...

    Java范例开发大全(全书源程序)

    实例167 继承关系的加载顺序 266 实例168 如何访问同名的方法或变量 268 实例169 super()方法的使用 271 实例170 this方法的使用 274 实例171 一张考试成绩单 275 实例172 银行自动存取一体机 278 9.4 多态 ...

    java 面试题 总结

    以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。 public class ThreadTest1{ private int j; public static void main(String args[]){ ThreadTest1 tt=new ThreadTest1(); Inc inc=tt.new Inc(); ...

    一款非常好的WPF编程宝典2010 源代码

    11.3.3 静态资源和动态资源 279 11.3.4 非共享资源 280 11.3.5 通过代码访问资源 280 11.3.6 应用程序资源 281 11.3.7 系统资源 281 11.3.8 使用资源字典组织资源 283 11.3.9 在程序集之间共享资源 284 11.4 ...

    Apress.Pro.WPF.in.C.Sharp.2008.2nd.Edition.Feb.2008

    11.3.3 静态资源和动态资源 279 11.3.4 非共享资源 280 11.3.5 通过代码访问资源 280 11.3.6 应用程序资源 281 11.3.7 系统资源 281 11.3.8 使用资源字典组织资源 283 11.3.9 在程序集之间共享资源 284 11.4 结束语 ...

    WPF编程宝典 part1

    2.5 加载和编译XAML 38 2.5.1 只使用代码 38 2.5.2 使用代码和未经编译的XAML 40 2.5.3 使用代码和编译过的XAML 42 2.5.4 只使用XAML 44 2.6 小结 45 第3章 布局 47 3.1 理解WPF中的布局 47 3.1.1 WPF布局原则 47 ...

    WPF编程宝典 part2

    2.5 加载和编译XAML 38 2.5.1 只使用代码 38 2.5.2 使用代码和未经编译的XAML 40 2.5.3 使用代码和编译过的XAML 42 2.5.4 只使用XAML 44 2.6 小结 45 第3章 布局 47 3.1 理解WPF中的布局 47 3.1.1 WPF布局原则 47 ...

    c#学习笔记.txt

    但是当他们看完C#的文档后又开始高兴起来,因为C#是如此简单:事实上,简单正是C#最大的特点。除此之外,它还具有现代、面向对象、类型安全、版本控制、兼容、灵活等特点。详细介绍请参阅rainbow(一个长着胡子的...

    超级有影响力霸气的Java面试题大全文档

    Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。 25、JSP中动态INCLUDE与静态INCLUDE的区别?  动态INCLUDE用jsp:...

    java消灭星星源码-PopularPeople::mobile_phone:流行的People应用程序,在基于MVVM(ViewModel、Coroutines、Li

    java消灭星星源码 受欢迎的人 :glasses: 受欢迎的人是一个示例 Android ...布局文件生成一个绑定类,并允许您更轻松地编写与视图交互的代码。 - SQLite 对象映射库。 —— DI版 :dagger: - 适用于 Andro

Global site tag (gtag.js) - Google Analytics