内部类:类内部的类
java内部类按位置可分为:
成员内部类(成员位置)
局部内部类(成员方法内部)
特点:内部类可以直接访问外部类的成员,包括私有,外部类访问内部类须创建对象
在外部如何直接访问内部类的成员
格式: 外部类名.内部类名 对象名 = 外部类对象.内部类对象
outer.inner oi = new outer().new inner();
内部类可以用static修饰,修饰后访问方法为:
外部类名.内部类名 对象名 = new 外部类名.内部类名();
内部类与外部类有重名变量如何访问外部类的变量
// 依次输出 30 20 10 如何填空?
class outer{
public int num = 10;
class inner{
public int num = 20;
public void show(){
int num = 30;
System.out.println("?"); // num 就近原则 30
System.out.println("?"); // this.num 20
System.out.println("?"); // new outer().num 或 outer.this.num
}
}
}