java对象初始化顺序验证示例_Java教程-查字典教程网
java对象初始化顺序验证示例
java对象初始化顺序验证示例
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:publicclassDeriveextendsBase{privateMemberm1=newMember("Membe...

复制代码 代码如下:

public class Derive extends Base

{

private Member m1 = new Member("Member 1");

{

System.out.println("Initial Block()");

}

public Derive() {

System.out.println("Derive()");

}

private Member m2 = new Member("Member 2");

private int i = getInt();

private int getInt()

{

System.out.println("getInt()");

return 2;

}

public static void main(String[] args)

{

new Derive();

}

}

class Base

{

public Base()

{

System.out.println("Base()");

}

}

class Member

{

public Member(String m)

{

System.out.println("Member() "+m);

}

}

/*程序输出:

Base()

Member() Member 1

Initial Block()

Member() Member 2

getInt()

Derive()

*/

得出结论如下:不考虑静态成员的初始化,调用一个对象的构造函数时,程序先调用父类的构造函数(可以通过super关键字指定父类的构造函数,否则默认调用无参的构造函数,并且需要在子类的构造函数的第一行调用),之后静态成员变量的初始化函数和静态初始化块则按照在代码当中的顺序执行,成员变量如果没有指定值的话则赋予默认值,即基本数据类型为0或false等,对象则为null;最后调用自身构造函数。

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Java学习
    热门Java学习
    编程开发子分类