说我们有这个
class Foo {}
public class Bar{}
与之相对:
public class Bar{
public class Foo{}
}
我不知道有什么区别。在这两种情况下,Foo应该对包含Bar的文件都是私有的。有区别吗?当然,如果我们将其设为静态,那么它可能可用于其他文件?
public class Bar{
public static class Foo{}
}
但是我要特别问的是没有static关键字的情况。
答案 0 :(得分:1)
根据Oracle文档,
嵌套类是其封闭类的成员。非静态嵌套类(内部类)可以访问封闭类的其他成员,即使它们被声明为私有的也是如此。静态嵌套类无权访问封闭类的其他成员。
有关嵌套类的更多详细信息,请参考此官方文档。
https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html