class outer
{
public void outerfunction()
{
private class inner // Line-1
{
public void showinner()
{
System.out.println("I am in Inner Class");
}
}
}
}
第1行:此行显示错误。
我知道我是否为内心写了抽象或最终。那很好。为什么班内不能私有?
答案 0 :(得分:3)
private
类对同一文件中的所有方法和嵌套类都是可见的。通常你会认为私有缩小了使用范围,但是在这种情况下使用private
你扩展这个类的范围是以Java没有的方式显示的。支持。
将方法设为私有与执行此操作相同
class outer {
private class inner { // Line-1
public void showinner() {
System.out.println("I am in Inner Class");
}
}
public void outerfunction() {
}
}
在您认为嵌套类可以使用其外部上下文中的值之前,这看起来很好。
class outer {
public void printInner() {
// accessible in the same .java file because we made it private
inner i = new inner();
i.showInner(); // what should `x` be?
}
public void outerfunction(final int x) {
private class inner { // Line-1
public void showinner() {
System.out.println("I am in Inner Class, x= " + x);
}
}
}
}