java加载类的一般过程
2008-04-22 10:52
218 查看
java加载类的过程一般是先加载父类的静态成员,在加载子类的静态成员,
然后再加载父类的非静态成员,父类的构造方法,最后
加载子类的非静态方法,子类的构造方法。
例如:
class Supper
{
//静态块
static
{
System.out.println("加载父类的静态方法......");
}
//非静态块
{
System.out.println("加载父类的非静态方法......");
}
public Supper()
{
System.out.println("加载父类的构造方法......");
}
}
class Ch extends Supper
{
//静态块
static
{
System.out.println("加载子类的静态方法......");
}
//非静态块
{
System.out.println("加载子类的非静态方法......");
}
//子类构造方法
public Supper()
{
System.out.println("加载子类的构造方法......");
}
public static void main(String args[])
{
new Ch();
}
}
其运行结果是:
加载父类的静态方法......
加载子类的静态方法......
加载父类的非静态方法......
加载父类的构造方法......
加载子类的非静态方法......
加载子类的构造方法......
然后再加载父类的非静态成员,父类的构造方法,最后
加载子类的非静态方法,子类的构造方法。
例如:
class Supper
{
//静态块
static
{
System.out.println("加载父类的静态方法......");
}
//非静态块
{
System.out.println("加载父类的非静态方法......");
}
public Supper()
{
System.out.println("加载父类的构造方法......");
}
}
class Ch extends Supper
{
//静态块
static
{
System.out.println("加载子类的静态方法......");
}
//非静态块
{
System.out.println("加载子类的非静态方法......");
}
//子类构造方法
public Supper()
{
System.out.println("加载子类的构造方法......");
}
public static void main(String args[])
{
new Ch();
}
}
其运行结果是:
加载父类的静态方法......
加载子类的静态方法......
加载父类的非静态方法......
加载父类的构造方法......
加载子类的非静态方法......
加载子类的构造方法......
相关文章推荐
- java 类加载全过程之第二步 验证
- java面试- 深入理解JVM(九)——类加载的过程
- java Class 加载过程 符号引用 直接引用
- java类加载时机与过程
- java 程序加载过程---3--类中申明同时申明类的静态对象 创建类的实例 访问类的静态变量 调用类的静态方法 使用反射方法 初始化类的子类对象 直接使用java.exe 调用某个类
- java类加载的过程
- 深入理解Java 类加载全过程
- java程序的加载过程
- java类加载及初始化过程(静态变量、静态代码块、代码块、构造函数)
- java程序加载过程
- Java程序运行内容加载过程
- java程序执行过程中动态加载jar包
- java类的加载过程和访问权限
- java 类加载过程
- java类加载过程
- Java中类加载过程和对象创建过程
- java 实例化过程 和 程序加载
- [Java]java类加载及new对象的过程
- (java)类的加载过程一
- Java学习回顾-对象在内存中的加载过程