黑马程序员技术交流社区

标题: java对象初始化顺序的简单验证 [打印本页]

作者: 考拉是只猫    时间: 2014-11-28 21:32
标题: java对象初始化顺序的简单验证
这段小程序对调用对象构造函数时,父类构造函数、成员变量初始化函数,以及非静态初始化块调用顺序进行验证,不考虑静态成员及静态初始化块。


  1. public class Derive extends Base
  2. {
  3.     private Member m1 = new Member("Member 1");
  4.     {
  5.         System.out.println("Initial Block()");
  6.     }

  7.     public Derive() {
  8.         System.out.println("Derive()");
  9.     }

  10.     private Member m2 = new Member("Member 2");
  11.     private int i = getInt();

  12.     private int getInt()
  13.     {
  14.         System.out.println("getInt()");
  15.         return 2;
  16.     }

  17.     public static void main(String[] args)
  18.     {
  19.         new Derive();
  20.     }
  21. }

  22. class Base
  23. {
  24.     public Base()
  25.     {
  26.         System.out.println("Base()");
  27.     }
  28. }

  29. class Member
  30. {
  31.     public Member(String m)
  32.     {
  33.         System.out.println("Member() "+m);
  34.     }
  35. }
  36. /*程序输出:
  37. Base()
  38. Member()  Member 1
  39. Initial Block()
  40. Member()  Member 2
  41. getInt()
  42. Derive()
  43. */
复制代码




作者: 小朱    时间: 2014-11-28 23:17
学习了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2