Non-static inner class为什么不可以有static成员? static的话是所有outer class member公用,还是所有同一个outer class member 的inner class member共有呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 假设class Out{ Inner i1=new Inner(); Inner i2=new Inner(); class Inner{ static int i; }}Out o1=new Out(); Out o2=new Out();那么是到底是有一个i,即o1.i1.i=o1.i2.i=o2.i1.i=o2.i2.i还是2个,o1.i1.i=o1.i2.i,!=, o2.i1.i=o2.i2.i 在《thinking in java 2nd》中,关于你这个问题有这样一句解释:Non-static inner class内的所有数据和函数都只能够位于class的外层,所以它不能够拥有任何static data、static fields、static inner class。然而static inner classes可以拥有那些东西。我也不知道如果拥有静态成员会产生什么情况。to shine333(shine): 如果non-static inner class可以拥有static成员,那么应该产生2个吧?一个是o1.i1.i=o1.i2.i,一个是o2.i1.i=o2.i2.i。但产生这样的结果是非法的吗? ''' (0 0) +-----oOO----(_)------------+ | | | 有感而发! | | | | | +------------------oOO------+ |__|__| || || ooO Ooo to: shine333(shine)如果可以有static,当然是共同拥有一个i。请问这样有什么不好或者不对劲的地方吗? 初学者,两小问题 skype api 一个类中3个集合属性的平均分组,请问有没有什么好的方法 高分请教一个有关java内存泄漏的问题。 main()的作用? 请各位高手帮忙解决一下出现这个异常的问题!谢谢! applet如何再弹出一个frame或panel 问大家一个绝对很菜的问题,我是新人,别见笑。 main()括号中是什么参数! 菜鸟问题:java中连接MSSQL用JDBC,它的驱动是免费的吗?还是JDK1。2中已经提供了? 请问今年java是否已开始有中文版的考试 这是个什么错误
class Out{
Inner i1=new Inner();
Inner i2=new Inner();
class Inner{
static int i;
}
}Out o1=new Out(); Out o2=new Out();
那么是到底是有一个i,即o1.i1.i=o1.i2.i=o2.i1.i=o2.i2.i
还是2个,o1.i1.i=o1.i2.i,!=, o2.i1.i=o2.i2.i
如果non-static inner class可以拥有static成员,那么应该产生2个吧?一个是o1.i1.i=o1.i2.i,一个是o2.i1.i=o2.i2.i。但产生这样的结果是非法的吗? '''
(0 0)
+-----oOO----(_)------------+
| |
| 有感而发! |
| |
| |
+------------------oOO------+
|__|__|
|| ||
ooO Ooo
如果可以有static,当然是共同拥有一个i。请问这样有什么不好或者不对劲的地方吗?