/*
内部类访问特点:
1,内部类可以直接访问外部类中的成员。
2,外部类要访问内部类,必须建立内部类的对象。
一般用于类的设计。
分析事物时,发现该事物描述中还有事物,而且这个事物还在访问被描述事物的内容。
这时就是还有的事物定义成内部类来描述。
*/
public class Outer {
private int num = 3;
private static int num2 = 4;
class Inner{
void show(){
System.out.println("show run ..." + num);
}
}
static class Inner2{
void show(){
System.out.println("show run ..." + num2);
}
static void show2(){
System.out.println("show2 run ..." + num2);
}
}
public void method(){
Inner in = new Inner();
in.show();
}
}
public class InnerClassDemo {
public static void main(String[] args) {
// 访问外部类
Outer out = new Outer();
out.method();
// 直接访问内部类
Outer.Inner in = new Outer().new Inner();
in.show();
// 访问静态内部类
Outer.Inner2 in2 = new Outer.Inner2();
in2.show();
// 访问静态内部类的静态方法
Outer.Inner2.show2();
}
}