package unit4;
public class Java31 {
static class A {
}
class B {
}
void m() {
class C {
}
// 局部内部类
C c = new C();
System.out.println(c);
}
public static void main(String[] args) {
// 内部类(嵌套类)
// 一个类中可以嵌套定义一个类
// 内部类的分类:成员静态内部类、成员非静态内部类、局部内部类、匿名类(没有名字的内部类)
// 静态内部类
Java31.A a = new A();
System.out.println(a);
// 非静态内部类
Java31 x = new Java31();
Java31.B b = x.new B();
System.out.println(b);
x.m();
// 匿名类:【方法实现】和【创建对象】合二为一
Car car1 = new Audi();
car1.drvier();
// 匿名类的实现:
Car car2 = new Car(){
@Override
public void drvier() {
System.out.println("奔驰实现");
}
};
car2.drvier();
// 注意:内部类的编译情况*.java -> *.class
// 外部类$内部类.class
}
}
interface Car {
void drvier();
}
class Audi implements Car {
@Override
public void drvier() {
System.out.println("奥迪实现");
}
}