A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zlp19940327 中级黑马   /  2015-4-16 00:53  /  900 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class X {
        Y b = new Y();
        static {
                System.out.println("HelloWorld");
        }
        {
                System.out.println("How are you ?");
        }
        X() {
                System.out.print("X");
        }
}
class Y {
        Y() {
                System.out.print("Y");
        }
}
class Z extends X {
        Y y = new Y();
        Z() {
                System.out.print("Z");
        }
}
class Demo
{
        public static void main(String[] args)
        {
                new Z();
        }
}


7 个回复

正序浏览
叶松ye 来自手机 中级黑马 2015-4-16 17:50:35
8#
了咯厉害哦哦啦啦额
回复 使用道具 举报
这个得好好想想了,
回复 使用道具 举报
得好好缕缕思路,那个先执行后执行。
回复 使用道具 举报
还真是得好好琢磨啊
回复 使用道具 举报
为什么Y在how are you 前面?构造代码块不是优于构造函数执行吗?
回复 使用道具 举报
HelloWorld
YHow are you ?
XYZ
回复 使用道具 举报

  1. class X {
  2.         Y b = new Y();//3
  3.         static {
  4.                 System.out.println("HelloWorld");//2
  5.         }
  6.         {
  7.                 System.out.println("How are you ?");//4
  8.         }
  9.         X() {
  10.                 System.out.print("X");//5
  11.         }
  12. }
  13. class Y {
  14.         Y() {
  15.                 System.out.print("Y");
  16.         }
  17. }
  18. class Z extends X {
  19.         Y y = new Y();//6
  20.         Z() {
  21.                         //super();
  22.                 System.out.print("Z");//7
  23.         }
  24. }
  25. class Demo
  26. {
  27.         public static void main(String[] args)
  28.         {
  29.                 new Z(); //1
  30.         }
  31. }
  32. //HelloWorld  y  How are you ? x   y    z
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马