总结
匿名内部类就是直接在main函数里面实现抽象类或者接口方法,而不通过创建新的类继承抽象类或者接口并重写方法。
省掉了创建一个使用次数很少的子类的过程。
不使用匿名内部类
public class NoName {
public static void main(String[] args) {
nonameclass aa = new xiaoming();//需要创建一个xiaoming类
aa.show();
}
}
interface nonameclass {
void show();
}
class xiaoming implements nonameclass{
public void show() {
System.err.println("我是小明");
}
}
使用内部类
public class NoName {
public static void main(String[] args) {
nonameclass p1 = new nonameclass() {
public void show() {
System.out.println("匿名内部类小明");//直接在main里面实现了这个接口的功能,而不用创建一个名为xiaoming的类,这里xiaoming就是匿名内部类
}
};
p1.dodo();
}
interface nonameclass {
void show();
}