嵌套类(nested class)是一个在还有一个类或接口内部声明的类。
嵌套类分为两种:静态内部类(static inner class)和非静态嵌套类(non-static nested class)。
非静态嵌套类也称为内部类(inner class)
<span style="font-size:18px;">package nested_inner_class;
public class StaticNestedTest2 {
public static void main(String[] args) {
//不须要实例化外部类,能够直接创建内部类对象
Outer2.Nested1 nested1 = new Outer2.Nested1();
System.out.println(nested1.getValue());
System.out.println(nested1.getOuterValue());
}
}
class Outer2{
private static int value = 9;
//静态的嵌套类(Nested1)能够訪问外层类(Outer)的全部(包含private)成员
//能够把嵌套类当做外部类的一个函数来理解(为什么能够訪问外部类的成员)
static class Nested1{
int value = 10;
//返回内部类的value
int getValue(){
return value;
}
//返回外部类的value
int getOuterValue(){
return Outer2.value;
}
}
}
</span>