Java实例说明 Java类加载机制是如何运行的
2017-02-13 14:24
148 查看
实例:
class A {
static {
System.out.print("1");
} //父类静态成员
public A() {
System.out.print("2");
} //父类方法
}
class B extends A {
static {
System.out.print("a");
} //子类静态成员
public B() {
System.out.print("b");
} //子类方法
}
public class Hello {
public static void main(String[] args) {
A d = new B();
d = new B();
}
}
运行结果: 1a2b2b
原因:
创建对象时构造器的调用顺序是:
先初始化静态成员,
然后调用父类构造器,
再初始化非静态成员,
最后调用自身构造器。
class A {
static {
System.out.print("1");
} //父类静态成员
public A() {
System.out.print("2");
} //父类方法
}
class B extends A {
static {
System.out.print("a");
} //子类静态成员
public B() {
System.out.print("b");
} //子类方法
}
public class Hello {
public static void main(String[] args) {
A d = new B();
d = new B();
}
}
运行结果: 1a2b2b
原因:
创建对象时构造器的调用顺序是:
先初始化静态成员,
然后调用父类构造器,
再初始化非静态成员,
最后调用自身构造器。
相关文章推荐
- 如何使java Application只有一个实例运行
- Java深入探索之道Java类加载机制的奥秘
- 动态加载Java运行环境和运行实例
- 第1章 Java基本概念及环境配置——FAQ1.06 Java语言的运行机制如何?
- 如何让Java程序只运行一个实例
- ADF11g-029:如何在每个页面加载之前运行一段java代码
- 【Java】ClassLoader源码全面解析java类加载机制
- java中任务调度java.util.Timer,ScheduledExecutor,Quartz的机制说明和demo代码实例分享
- java语言的运行机制如何?
- java通过反射机制加载类方法和实例方法
- Java 配置加载机制详解及实例
- java中任务调度java.util.Timer,ScheduledExecutor,Quartz的机制说明和demo代码实例分享
- java类加载 运行机制
- Java类加载与初始化机制实例分析
- Java类加载机制——如何实现一个工程中不同模块加载不同版本的同名jar包。
- java ClassLoader机制和如何加载外部class文件(含代码)
- 如何在每个页面加载之前运行一段java代码
- Java类加载顺序问题实例——程序运行后感觉是之前版本
- java类加载机制的代码实例
- 举例说明一个 java程序的加载,初始化以及运行过程