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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wangleixhlm 中级黑马   /  2014-5-25 23:50  /  1459 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 wangleixhlm 于 2014-5-26 22:04 编辑
  1. public class OuterClass
  2. {
  3.         private class InterClass
  4.         {
  5.                 public InterClass()
  6.                 {
  7.                         System.out.println("InterClass Create");
  8.                 }
  9.         }

  10.         public OuterClass()
  11.         {
  12.                 InterClass ic = new InterClass();
  13.                 System.out.println("OuterClass Create");
  14.                 }

  15.         public static void main(String[] args)
  16.         {
  17.                 OuterClass oc = new OuterClass();
  18.         }
  19. }
复制代码


内部类的一道题,输出结果应该是什么?为什么?

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

6 个回复

倒序浏览
本帖最后由 寻找人生目标 于 2014-5-25 23:56 编辑

哥们你真屌   这是套了几个了............
额  之前看错了  
  1. public class OuterClass
  2. {
  3.         private class InterClass
  4.         {
  5.                 public InterClass()
  6.                 {
  7.                         System.out.println("InterClass Create"); //输出InterClass Create
  8.                 }
  9.         }

  10.         public OuterClass()  {
  11.                 InterClass ic = new InterClass(); //第二步  内部类的构造函数执行  再向下执行
  12.                 System.out.println("OuterClass Create"); //然后输出 OuterClass Create
  13.         }

  14.         public static void main(String[] args){
  15.                 OuterClass oc = new OuterClass(); //  第一步  然后外部类的构造函数执行
  16.         }
  17. }
复制代码


评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报
先是main函数  然后是创建外部类的对象    外部类的构造函数执行    外部类的构造函数中创建了内部类的对象然后内部类的构造函数执行    执行完再继续往下执行   所以输出的是

InterClass Create
OuterClass Create
回复 使用道具 举报
输出结果是    InterClass Create
                   OuterClass Create   
    首先执行main()方法 new一个OuterClass对象,这就会调用已经写了的 OuterClass()构造方法,然后执行构造方法中new一个 InterClass 对象,这时就会调用内部类中的构造方法InterClass()输出一个InterClass Create语句,然后继续执行OuterClass构造方法中的语句输出OuterClass Create 语句。
回复 使用道具 举报
InterClass Create
OuterClass Create
执行过程是 OuterClass构造函数执行,InterClass 构造函数执行, System.out.println("OuterClass Create"); 执行
回复 使用道具 举报
都是大神,楼上回答了,楼下没办法回答
回复 使用道具 举报
InterClass Create
OuterClass Create
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马