黑马程序员技术交流社区
标题:
为什么能找到?
[打印本页]
作者:
徐瑶
时间:
2014-3-19 15:56
标题:
为什么能找到?
class Outer{
int nun;
}
class Inner{
public static void main(String[] args){
Outer out = new Outer();
}
}
new Outer()为什能找到类Outer类来创建对象
作者:
歌尽繁华
时间:
2014-3-19 16:07
Inner不是Outer的内部类,Inner没有在Outer的body里面,是两个独立的类,当然可以直接new
作者:
a569609054
时间:
2014-3-19 16:17
这两个类是独立的两个类,是可以直接创建对象的。
作者:
leon_hm
时间:
2014-3-19 16:36
两个类是相互独立的。而且放在一个目录下。肯定是可以new的。
作者:
张东健
时间:
2014-3-19 17:39
这两个类是可以访问的到的
作者:
sgs_gzy
时间:
2014-3-19 17:52
两个类是分开的好么,当然Inner能创建Outer的对象
你要在Outer局部或者成员上新建个类,这才算是Outer的内部类。
作者:
H._张_♂
时间:
2014-3-19 18:10
首先,class Outer这个类没有写构造方法,系统会自动添加构造方法 Outer(){};即一个空的构造方法,构造后该对象拥有一个成员变量nun,
其次,class Inner{这个类有一个 public static void main(String[] args){}主函数,也是程序运行起来的一个接口,可以单独执行后面的语句
class Inner {
/**
* @param args
*/
public static void main(String[] args) {
Outer out = new Outer();
out.print();
}
}
class Outer{
int nun;
public void print(){
System.out.print("Print");
}
}
复制代码
你可以看到能对new出来的新对象调用方法,说明对象成功创建。
作者:
李猛
时间:
2014-3-19 18:16
上面说的很清楚了,由于这是两个独立的类,而且类本身没有被手动添加构造函数,当你new对象时系统默认会为你提供一个空构造函数,所以不会有什么问题
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2