手机
当前位置:查字典教程网 >编程开发 >Java >浅谈Java中父类与子类的加载顺序详解
浅谈Java中父类与子类的加载顺序详解
摘要:复制代码代码如下:classParent{//静态变量publicstaticStringp_StaticField="父类--静态变量";...

复制代码 代码如下:

class Parent {

// 静态变量

public static String p_StaticField = "父类--静态变量";

// 变量(其实这用对象更好能体同这一点,如专门写一个类的实例)

//如果这个变量放在初始化块的后面,是会报错的,因为你根本没有被初始化

public String p_Field = "父类--变量";

// 静态初始化块

static {

System.out.println(p_StaticField);

System.out.println("父类--静态初始化块");

}

// 初始化块

{

System.out.println(p_Field);

System.out.println("父类--初始化块");

}

// 构造器

public Parent() {

System.out.println("父类--构造器");

}

}

public class SubClass extends Parent {

// 静态变量

public static String s_StaticField = "子类--静态变量";

// 变量

public String s_Field = "子类--变量";

// 静态初始化块

static {

System.out.println(s_StaticField);

System.out.println("子类--静态初始化块");

}

// 初始化块

{

System.out.println(s_Field);

System.out.println("子类--初始化块");

}

// 构造器

public SubClass() {

//super();

System.out.println("子类--构造器");

}

// 程序入口

public static void main(String[] args) {

System.out.println("*************in main***************");

new SubClass();

System.out.println("*************second subClass***************");

new SubClass();

}

}

输出结果

父类--静态变量

父类--静态初始化块

子类--静态变量

子类--静态初始化块

*************in main***************

父类--变量

父类--初始化块

父类--构造器

子类--变量

子类--初始化块

子类--构造器

*************second subClass***************

父类--变量

父类--初始化块

父类--构造器

子类--变量

子类--初始化块

子类--构造器

结果分析:

很显然在加载main方法后,静态变量不管父类还是子类的都执行了,然后才是父类和子类的的普通变量和构造器。这是因为,当要创建子类这个对象时,发现这个类需要一个父类,所以把父类的.class加载进来,然后依次初始化其普通变量和初始化代码块,最后其构造器,然后可以开始子类的工作,把子类的.class加载进来,在做子类的工作。

另外在Java中子类中都会有默认的调用父类的默认构造函数即super(),当仅仅有默认构造函数里

Java替你做了,我们可以做个实验,如果在父类中注释掉默认构造函数,加一个有参的构造函数时,如果

子类中不加super(argument),此时会报语法错误

如果我们把Main方法中的内容全注释掉,你会发现只会输出

父类--静态变量

父类--静态初始化块

子类--静态变量

子类--静态初始化块

其它不会输出了。原因呢?还要研究

【浅谈Java中父类与子类的加载顺序详解】相关文章:

深入java内存查看与分析详解

java实现大文件分割与合并的实例代码

Java陷阱之assert关键字详解

深入Java冒泡排序与选择排序的区别详解

探讨Java中最常见的十道面试题(超经典)

Java中的static静态代码块的使用详解

深入分析Java内存区域的使用详解

Java中对XML的解析详解

在Java中自由块的执行顺序

Java中Vector与ArrayList的区别详解

精品推荐
分类导航