> 文章列表 > java内部类入门(接口)

java内部类入门(接口)

java内部类入门(接口)

我有一个玩具狗,有一个接口用于启动它,按照传统方法就是写一个类并实现该接口,且该类只使用一次(在启动时使用,后面再不使用)

 但是如果我有一堆玩具,我每个玩具都要去写一个类来实现start这个接口吗?并且这个类还只使用一次。显然很繁琐,代码也不简洁。

这时候匿名内部类就派上用场了:

在Tools类中我可以将我的一堆玩具的启动都用匿名内部类来实现,很简洁

接口匿名内部类的形式为:new 接口名(){

                类体

}

并用一个引用接收;

那匿名内部类是什么呢?匿名怎么体现呢?

其实下面红色范围的代码在底层其实是这样的:

这个才是真正的匿名内部类,只是由jdk在底层操作的;

匿名内部类并非没有名字,只是你看不见,但是可以通过getclass来查看

在进行了上面的操作后,随即就new 了一个对象,并用dog引用来接收

 匿名内部类只能使用一次,即使你知道了这个匿名内部类的隐藏名字,你也不能再自行 new一个这个类的对象