黑马程序员技术交流社区
标题:
非静态内部类为什么不能有静态方法???
[打印本页]
作者:
不去会死
时间:
2014-6-21 15:19
标题:
非静态内部类为什么不能有静态方法???
本帖最后由 不去会死 于 2014-6-21 19:31 编辑
求一种最直白最通俗的理解
作者:
Running
时间:
2014-6-21 16:47
这是我在资料上看到的,希望能帮到你。
这样会产生歧义。例子如下:
class Outer {
int outerX;
Inner inner1 = new Inner();
Inner inner2 = new Inner();
class Inner {
int innerX;
}
}
Outer outer1 = new Outer();
Outer outer2 = new Outer();
假如innerX是static的,那么这个static的含义是
1:仅是同一outer实例下的不同inner实例共享:
outer1.inner1.innerX=outer1.inner2.innerX,And
outer2.inner1.innerX=outer2.inner2.innerX,But
outer1.inner1.innerX!=outer2.inner1.innerX,Hence
outer1.inner2.innerX!=outer2.inner2.innerX
2: 所有outer实例的inner实例都共享:
outer1.inner1.innerX=outer1.inner2.innerX,And
outer2.inner1.innerX=outer2.inner2.innerX,And
outer1.inner1.innerX=outer2.inner1.innerX,Hence
outer1.inner2.innerX=outer2.inner2.innerX
作者:
轩辕冰晨
时间:
2014-6-21 17:50
静态先于对象存在,非静态类都还没加载,怎么加载内部的方法
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2