接口作为成员变量——实现类和匿名内部类和匿名对象

Posted wmqiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口作为成员变量——实现类和匿名内部类和匿名对象相关的知识,希望对你有一定的参考价值。

声明定义的接口:

技术图片

 

主体类:

技术图片

其中接口作为成员变量,在这个主体类的成员方法中调用了这个接口的抽象方法,会自动找到这个这个接口实现类的覆盖重写的方法,避免多个实现类不同的覆盖重写,所以如果用实现类类实现的话都是直接传参该实现类就行

 

 

技术图片

其中,用实现类的时候,入参为接口的时候直接传入它的实现类,jvm会自动实现向上转型,继承和实现都有向上转型,原理可以看作一样;但是java是单继承、多实现的;

实现类只使用了一次,可以使用匿名内部类;

匿名内部类创建出来的对象也只调用了一个方法,可以使用匿名内部类的匿名对象;

以上是关于接口作为成员变量——实现类和匿名内部类和匿名对象的主要内容,如果未能解决你的问题,请参考以下文章

为什么匿名内部类和内部类只能访问final局部变量

内部类和匿名方法的使用!

22.内部类和匿名内部类

Java匿名内部类和Lambda表达式

深入类和对象

java中关于内部类和匿名内部类