一、什么是内部类
在一个类中定义另外一个类
举例: 在类A中,定义一个类B,就可以将类B作为A类的内部类.
二、分类
1)成员内部类:
在外部类的成员位置,定义一个类。
2)局部内部类:
在外部类的局部位置,定义一个类。
三、成员内部类访问特点
访问成员内部类中的成员方法:
需求:在测试类中如何访问成员内部类中的show方法(非静态)
// 外部类
class Outer{
private int num = 10 ;
public int num2 = 20 ;
//成员内部类
public class Inner{
public void show() {
System.out.println(num);
System.out.println(num2);
}
}
}
//测试类
public class OuterDemo {
public static void main(String[] args) {
// 外部类名.内部类名 对象名 = 外部类对象.内部类对象;
Outer.Inner oi = new Outer().new Inner() ;
oi.show();
}
}
访问格式:
外部类名.内部类名 对象名 = 外部类对象.内部类对象;
例如:Outer . Inner oi = new Outer () . new Inner () ;
成员内部类还可以使用static修饰
静态的成员内部类中的成员只能访问外部类的静态数据!