java 程序加载过程---2-创建类实例对象
2014-02-16 22:42
579 查看
java 程序加载过程---2-创建类实例对象
Step1 :父类类中静态变量(类变量)
Step2 :父类中静态代码块
Step3 :子类的中静态变量(类变量)
Step4 :子类中的静态代码块
Step5:父类中的非静态变量
Step6:父类中的非静态变量
Step7:父类构造函数
Step8:子类中的非静态变量
Step9:子类中的非静态代码块
Step10:子类构造函数
class FatherStaticTest
{
public FatherStaticTest()
{
System.out.println("I am in the class Father");
}
public static int fi=100;
public int fii=200;
static
{
System.out.println("fi is"+fi);
}
{
System.out.println("fii is "+fii);
}
}
public class StaticTest extends FatherStaticTest {
public static int k=0;
public static int i=print("i");
public static int n=99;
public int j=print("j");
{
print("构造块");
}
static
{
print("静态块");
}
public static int print(String s)
{
System.out.println(++k+":"+s+"\ti="+i+"\tn="+n);
++n;
return ++i;
}
public StaticTest(String s)
{
System.out.println(++k+":"+s+"\ti="+i+"\tn="+n);
++i;
++n;
}
public static void main(String[] args) {
new StaticTest("Ben");
//StaticTest.print("ben");
}
}
执行结果如下:
D:\myjava>java StaticTest
fi is100
1:i i=0 n=0
2:静态块 i=1 n=99
fii is 200
I am in the class Father
3:j i=2 n=100
4:构造块 i=3 n=101
5:Ben i=4 n=102
D:\myjava>
Step1 :父类类中静态变量(类变量)
Step2 :父类中静态代码块
Step3 :子类的中静态变量(类变量)
Step4 :子类中的静态代码块
Step5:父类中的非静态变量
Step6:父类中的非静态变量
Step7:父类构造函数
Step8:子类中的非静态变量
Step9:子类中的非静态代码块
Step10:子类构造函数
class FatherStaticTest
{
public FatherStaticTest()
{
System.out.println("I am in the class Father");
}
public static int fi=100;
public int fii=200;
static
{
System.out.println("fi is"+fi);
}
{
System.out.println("fii is "+fii);
}
}
public class StaticTest extends FatherStaticTest {
public static int k=0;
public static int i=print("i");
public static int n=99;
public int j=print("j");
{
print("构造块");
}
static
{
print("静态块");
}
public static int print(String s)
{
System.out.println(++k+":"+s+"\ti="+i+"\tn="+n);
++n;
return ++i;
}
public StaticTest(String s)
{
System.out.println(++k+":"+s+"\ti="+i+"\tn="+n);
++i;
++n;
}
public static void main(String[] args) {
new StaticTest("Ben");
//StaticTest.print("ben");
}
}
执行结果如下:
D:\myjava>java StaticTest
fi is100
1:i i=0 n=0
2:静态块 i=1 n=99
fii is 200
I am in the class Father
3:j i=2 n=100
4:构造块 i=3 n=101
5:Ben i=4 n=102
D:\myjava>
相关文章推荐
- java 程序加载过程---3--类中申明同时申明类的静态对象 创建类的实例 访问类的静态变量 调用类的静态方法 使用反射方法 初始化类的子类对象 直接使用java.exe 调用某个类
- 实例解析-Java程序的加载过程
- Java中类加载过程和对象创建过程
- Java中类加载过程和对象创建过程
- 深入理解Java对象的创建过程:类的初始化与实例化
- Java学习之对象的创建过程与类加载
- Java程序运行和对象创建过程简述
- java程序中创建触发器、存储过程等对象
- JAVA基础--类加载&对象创建过程
- 深入理解Java对象的创建过程:类的初始化与实例化
- java加载类创建对象的过程以及静态代码段的执行时机
- JAVA对象创建加载过程。
- Java中类加载过程和对象创建过程
- java 对象创建时,在内存中加载的过程
- java程序在执行过程中,类,对象以及它们成员加载、初始化的顺序如下:
- 实例解析-Java程序的加载过程
- 深入理解java对象的创建过程,类的初始化与实例化
- JAVA基础--类加载&对象创建过程
- java程序的加载过程
- Java类的加载与实例创建