package
belief.teach1.classProcess;
/**/ /*
* Java加载过程 by belief
*/
// 代表静态final变量的类
class StaticFinalVar ... {
public StaticFinalVar() ...{
System.out.println("静态final成员变量初始化开始...");
}
}
// 代表静态非final变量的类
class StaticVar ... {
public StaticVar() ...{
System.out.println("静态非final成员变量初始化开始...");
}
}
// 代表非静态final变量的类
class NonStaticFinalVar ... {
public NonStaticFinalVar() ...{
System.out.println("非静态final成员变量初始化开始...");
}
}
// 代表非静态非final变量的类
class NonStaticVar ... {
public NonStaticVar() ...{
System.out.println("非静态非final成员变量初始化开始...");
}
}
class Father ... {
public Father() ...{
System.out.println("Father构造器执行...");
}
}
class son extends Father ... {
// System.out.println("非静态非final成员定义...");
NonStaticVar nsv = new NonStaticVar();
// System.out.println("非静态final成员定义...");
final NonStaticFinalVar fnsv = new NonStaticFinalVar();
...{
System.out.println("我是第二吗?...");
}
static ...{
System.out.println("看谁先执行...");
}
// System.out.println("静态final成员定义...");
static final StaticFinalVar sfv = new StaticFinalVar();
// System.out.println("静态非final成员定义...");
static StaticVar sv = new StaticVar();
public son() ...{
System.out.println("son构造器执行...");
}
}
public class ClassLoad ... {
public static void main(String[] args) ...{
new son();
}
}
运行结果:
/**/ /*
* 看谁先执行...
* 静态final成员变量初始化开始...
* 静态非final成员变量初始化开始...
* Father构造器执行...
* 非静态非final成员变量初始化开始...
* 非静态final成员变量初始化开始...
* 我是第二吗?...
* son构造器执行...
*
*/
/**/ /*
* Java加载过程 by belief
*/
// 代表静态final变量的类
class StaticFinalVar ... {
public StaticFinalVar() ...{
System.out.println("静态final成员变量初始化开始...");
}
}
// 代表静态非final变量的类
class StaticVar ... {
public StaticVar() ...{
System.out.println("静态非final成员变量初始化开始...");
}
}
// 代表非静态final变量的类
class NonStaticFinalVar ... {
public NonStaticFinalVar() ...{
System.out.println("非静态final成员变量初始化开始...");
}
}
// 代表非静态非final变量的类
class NonStaticVar ... {
public NonStaticVar() ...{
System.out.println("非静态非final成员变量初始化开始...");
}
}
class Father ... {
public Father() ...{
System.out.println("Father构造器执行...");
}
}
class son extends Father ... {
// System.out.println("非静态非final成员定义...");
NonStaticVar nsv = new NonStaticVar();
// System.out.println("非静态final成员定义...");
final NonStaticFinalVar fnsv = new NonStaticFinalVar();
...{
System.out.println("我是第二吗?...");
}
static ...{
System.out.println("看谁先执行...");
}
// System.out.println("静态final成员定义...");
static final StaticFinalVar sfv = new StaticFinalVar();
// System.out.println("静态非final成员定义...");
static StaticVar sv = new StaticVar();
public son() ...{
System.out.println("son构造器执行...");
}
}
public class ClassLoad ... {
public static void main(String[] args) ...{
new son();
}
}
运行结果:
/**/ /*
* 看谁先执行...
* 静态final成员变量初始化开始...
* 静态非final成员变量初始化开始...
* Father构造器执行...
* 非静态非final成员变量初始化开始...
* 非静态final成员变量初始化开始...
* 我是第二吗?...
* son构造器执行...
*
*/