Java匿名内部类精讲
匿名内部类的用法,真的是 Java 里一个挺巧妙的小设计。你要是想快速实现个接口,写个临时功能逻辑,又不想整个建个新类,那它就派上大用场了。
像你写个Runnable
,只是为了跑个线程,不用整个新建类,用匿名内部类,代码量直接砍半,看着也清爽。
常见写法也简单,就一行new 接口名() { ... }
,方法一重写,功能就全搞定了。比如下面这个例子:
FlyAble f = new FlyAble() {
@Override
public void fly() {
System.out.println("我飞了~~~");
}
};
f.fly();
上面就挺典型,一个接口FlyAble
,一个匿名类搞定飞行逻辑,省事。
匿名内部类有几个小限制,比如不能写静态方法、不能是抽象的,也不能写初始化块,主要还是轻量场景用的,不太适合做复杂逻辑。
你要是搞事件监听,像Android
里点个按钮响应事件,那匿名内部类简直不要太顺手,直接setOnClickListener
里写个实现,代码就贴那一块,改起来也方便。
想深入了解的,可以看看下面这几个资源,都是讲得蛮实在的:
如果你现在手头有个小接口实现任务,又懒得单开个类,不妨直接上匿名内部类,干净利落,调试起来也快。
下载地址
用户评论