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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 徐瑶 中级黑马   /  2014-3-19 15:56  /  1183 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Outer{
         int nun;
}

class Inner{
        public static void main(String[] args){
                Outer out = new Outer();
        }
}
new Outer()为什能找到类Outer类来创建对象

7 个回复

倒序浏览
Inner不是Outer的内部类,Inner没有在Outer的body里面,是两个独立的类,当然可以直接new
回复 使用道具 举报
这两个类是独立的两个类,是可以直接创建对象的。
回复 使用道具 举报
两个类是相互独立的。而且放在一个目录下。肯定是可以new的。
回复 使用道具 举报
这两个类是可以访问的到的
回复 使用道具 举报
两个类是分开的好么,当然Inner能创建Outer的对象
你要在Outer局部或者成员上新建个类,这才算是Outer的内部类。
回复 使用道具 举报
首先,class Outer这个类没有写构造方法,系统会自动添加构造方法 Outer(){};即一个空的构造方法,构造后该对象拥有一个成员变量nun,
其次,class Inner{这个类有一个 public static void main(String[] args){}主函数,也是程序运行起来的一个接口,可以单独执行后面的语句

  1. class Inner {

  2.         /**
  3.          * @param args
  4.          */
  5.         public static void main(String[] args) {
  6.        
  7.              Outer out = new Outer();
  8.              out.print();  
  9.         }

  10. }

  11. class Outer{
  12.          int nun;
  13.     public void print(){
  14.             System.out.print("Print");
  15.     }
  16.          
  17. }
复制代码

你可以看到能对new出来的新对象调用方法,说明对象成功创建。
回复 使用道具 举报
李猛 中级黑马 2014-3-19 18:16:47
8#
上面说的很清楚了,由于这是两个独立的类,而且类本身没有被手动添加构造函数,当你new对象时系统默认会为你提供一个空构造函数,所以不会有什么问题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马