黑马程序员技术交流社区
标题:
以下代码能否编译通过
[打印本页]
作者:
嘎路的米
时间:
2015-6-11 19:43
标题:
以下代码能否编译通过
先别急着运行,先猜猜看代码是否正确,是否能够编译通过。如果编译通过,运行结果又是什么
class Wai{
static final int y = 6;
class Nei{
static final int y = 3;
void show(){
System.out.println(y);
}
}
}
public class Demo {
public static void main(String[] args) {
new Wai().new Nei().show();
}
}
复制代码
作者:
shuaiqi_P_D
时间:
2015-6-11 20:46
可以的。匿名外部类创建匿名内部类,调用内部类的方法。JDK8 以后可以不用加 final
作者:
嘎路的米
时间:
2015-6-11 21:15
shuaiqi_P_D 发表于 2015-6-11 20:46
可以的。匿名外部类创建匿名内部类,调用内部类的方法。JDK8 以后可以不用加 final ...
内部类中的y不加final会编译错误。内部类中如果存在静态的成员,那么内部类必须也要是静态的。
静态常量除外
作者:
java8023
时间:
2015-6-11 21:18
可以啊,楼上说的很好啊
作者:
仲德明
时间:
2015-6-11 21:47
应该可以吧
作者:
zd12345
时间:
2015-6-11 22:31
编译失败吧。内部类中如果包含静态成员,则内部类也必须声明为静态。
作者:
Monster
时间:
2015-6-11 22:48
可以a,结果是3,就把Nei当作写在Wai外面的,但是只能功Wai使用
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2