博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java匿名内部类
阅读量:3905 次
发布时间:2019-05-23

本文共 1053 字,大约阅读时间需要 3 分钟。

如果接口的实现类(或者是父类的子类),只需要使用唯一的一次,那么这种情况下就可以省略掉该类的定义,而改为使用【匿名内部类】

package inner_class;public interface My_interface {    void my_method();}
package inner_class;public class My_interface_impl  implements  My_interface{    @Override    public void my_method() {        System.out.println("实现了接口");    }}
package inner_class;public class test_1 {    public static void main(String[] args) {     My_interface a=new My_interface_impl();//只使用一次     a.my_method();    }}

匿名内部类的定义格式

接口名称(类) 对象名=new 接口名称(类)(){
覆盖重写所有抽象方法
};

package inner_class;public interface My_interface {    void my_method();}package inner_class;import java.sql.SQLOutput;public class test_1 {    public static void main(String[] args) {        My_interface a=new My_interface() {            @Override            public void my_method() {                System.out.println("匿名内部类实现了接口");            }        };        a.my_method();    }}

这样话,就不需要单独为一个接口去写一个实现类

格式解析:

1:new 代表创建对象的动作
2:接口名称就是匿名内部类需要实现哪个接口
3:{…}才是匿名内部类的内容,匿名内部类创建对象时只能使用唯一 一次

匿名内部类是省略了【实现类、子类名称】,但是匿名对象是省略了【对象名称】,匿名内部类与匿名对象不是一回事

转载地址:http://wamen.baihongyu.com/

你可能感兴趣的文章
慧眼云:基于云计算和大数据分析的主动防御实践
查看>>
58集团监控业务实践:将网站运行信息透明化
查看>>
给Django用户的SQLAlchemy介绍
查看>>
consul http api
查看>>
如何定位问题
查看>>
使用火焰图分析CPU性能回退问题
查看>>
openresty lua zlib整合安装 让lua支持解压服务端压缩过的数据
查看>>
Nginx与Gzip请求
查看>>
最佳日志实践(v2.0)
查看>>
logstash日志分析的配置和使用
查看>>
Nginx问题定位之监控进程异常退出
查看>>
https://imququ.com/post/content-encoding-header-in-http.html
查看>>
字符编码的前世今生
查看>>
视频笔记:Go 抓包、分析、注入 - John Leon
查看>>
linux下模拟丢包,延时命令总结
查看>>
java的字符流简单介绍
查看>>
初识java的xml
查看>>
通过DOM方式对xml文件进行解析
查看>>
哈希桶处理哈希冲突
查看>>
位图(BitMap)&& 布隆过滤器(BloomFilter)
查看>>