A:匿名内部类
* 就是内部类的简化写法。
B:前提:存在一个类或者接口
* 这里的类可以是具体类也可以是抽象类。
C:格式:
new 类名或者接口名(){
重写方法;
}
D:本质是什么呢?
* 是一个继承了该类或者实现了该接口的子类匿名对象。
public class Demo3_NoNameClass {
public static void main(String[]args){
OuterTets OT=new OuterTets();
OT.method();
}
}
interface Inter{
public void print();
}
class OuterTets{
class InnerTest implements Inter{//有名字的内部类
@Override
public void print() {
System.out.println("重写接口中的方法");
}
}
public void method(){
// InnerTest i=new InnerTest();
// i.print();
// new InnerTest().print();
new Inter(){//实现Inter接口,下面一整块相当于Inter子类对象,与上面继承重写,在调用方法意义对等
@Override
public void print() {
System.out.println("重写Inter接口中的方法");
}
}.print();
}
}