黑马程序员技术交流社区
标题:
用static定义内部类的一个小问题
[打印本页]
作者:
lidinghai
时间:
2014-12-9 17:37
标题:
用static定义内部类的一个小问题
本帖最后由 lidinghai 于 2014-12-9 17:37 编辑
class Outer{ private static String info="hello world";
static class Inner{
public void print(){
System.out.println(info);
}
}
}
public class Demo{
public static void mian(String args[]){
new Outer.Inner().print();//这句是什么意思,实在看不懂。。
}
}
作者:
曛丨黯淡浮华
时间:
2014-12-9 17:48
本帖最后由 曛丨黯淡浮华 于 2014-12-9 18:27 编辑
一般外部类想调用内部类,格式是: 外部类.内部类 名称 = new 外部类().new 内部类();
然而内部类是静态类,静态内部类new的时候不需要外部类的实例的。
不需要外部类的实例 , 就会简化成: new Outer.Inter() . 外部类只需要写外部类名称即可,无需new 一个实例。
你可以看看这篇文章 http://blog.csdn.net/vange/article/details/5407625
作者:
dengchao
时间:
2014-12-9 18:49
很收益 很好
作者:
l763631191
时间:
2014-12-9 19:30
:)好东西
作者:
xingyunjunjun
时间:
2014-12-9 19:42
原来是这样
作者:
java小兵
时间:
2014-12-9 19:53
New Outer.Inner().print()其实就是内部类对象调用print方法。
过程等于
Outer.Inner x = new Outer().new Inner();
x.print();
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2