匿名内部类有嘛子用?
“现在给你个接口,接口里写满了抽象方法,你想用它里面的一个方法,咋办?”
“再另外创建一个类呗,在这个类里面覆盖重写上一下下,就能在主类里面用刚刚创建的类里的方法啦。”
“但…如果你只需要用一次这个方法呢?这不是脱裤子放 * 嘛!”
说到这儿,就到了我们匿名内部类出场的时候咯~
咋个用法呢?
我们先来定义个匿名内部类👉接口名字 对象名字 = new 接口名字(){ 接口中的抽象方法全覆盖重写一遍 }; 要记得最后的分号哟
咋样
看起来像不像把实现类中的覆盖重写和主类中的创建调用合并到一起啦?
看看具体是啥样子的👇
public static void main(String[] args) {
//接口名字就取作Interface吧
Interface obj = new Interface(){
public void say(){
System.out.println();
}
};
obj.say();
}
看完上面代码,是不是有点明白匿名内部类名字的由来了呢?
啥,不明白?
瞅一瞅,new完接口后,不是加了个大括号,这个大括号你就把它想象成一个类,只不过它没有名字,它总是在黑夜里悄然来临,摸上你的床,悄悄躺在你身旁 所以叫做匿名~~
我是被窝里的小何吖
祝您生活愉快!