当前位置: 首页 > news >正文

超级重要的匿名对象

package Day8.demo02.NiMing;/*
 *@author wanghongyuan
 *@Create 2020/12/13 23:34
 如果接口的实现类(或者父类的子类)只需要使用唯一的一次
 那么这种情况之下就可以省略掉该类的定义,而改为使用【匿名内部类】

匿名内部类的定义格式:
接口名称 对象名 = new 接口名称(){
    // 覆盖重写所有抽象方法
};

对格式进行解析:
new 接口名称(){....}进行解析:
1.new代表创建对象的动作。
2.接口名称就是匿名内部类需要实现哪个接口
3.{...}这个才是匿名内部类的内容

另外还要注意几点问题:
1.匿名内部类,在【创建对象】的时候,只能使用唯一一次。
如果希望多次创建对象,而且内容一样的话,那么就必须使用单独
定义的实现类了。
2.匿名对象,在【调用方法】的时候,只能调用唯一一次。
如果希望同一个对象,调用多次方法,那么必须给对象取个名字
3.匿名内部类是省略了【实现类/子类名称】,但是匿名对象是省略了【对象名称】
强调:匿名内部类和匿名对象不是一回事!!!

 */

public class DemoMain {
    public static void main(String[] args) {
//        MyInterface obj = new MyInterfaceImpl();
//        obj.method();
        // 使用匿名内部类,但不是匿名对象,对象名称就叫obj
        MyInterface obj = new MyInterface() {
            @Override
            public void method() {
                System.out.println("匿名对象类实现了方法!");
            }
        };
        obj.method();
        System.out.println("=======================");
        // 使用了匿名内部类,而且省略了对象名称,所以即是匿名内部类也是匿名对象。
        new MyInterface() {
            @Override
            public void method() {
                System.out.println("匿名对象类实现了方法!");
            }
        }.method();

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • SimpleDateFormat的使用方法及注意事项
  • System中获取当时间,和复制的方法
  • StringBuilder的用法
  • 关于Integer的用法,以Integer为例子,其他八个基本数据类型也可以参照
  • Collection集合学习
  • Iterator迭代器的使用。
  • Java中泛型的概念及使用
  • 常见的数据结构
  • Collection中List的使用及注意事项
  • Collection下的set集合中的hashset方法使用
  • Meterphere安装及使用
  • Collection中set下的Hashset和LinkedHashSet的区别
  • 数据类型中的可变参数理解
  • intelliJ idea酷炫代码特效插件
  • Collections中的三个常用方法,addAll,sort,shuffle
  • 【个人向】《HTTP图解》阅后小结
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • echarts的各种常用效果展示
  • exif信息对照
  • HTTP--网络协议分层,http历史(二)
  • Java教程_软件开发基础
  • JDK 6和JDK 7中的substring()方法
  • laravel with 查询列表限制条数
  • Linux快速复制或删除大量小文件
  • Magento 1.x 中文订单打印乱码
  • markdown编辑器简评
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • SpringBoot几种定时任务的实现方式
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 工作中总结前端开发流程--vue项目
  • 面试遇到的一些题
  • 运行时添加log4j2的appender
  • postgresql行列转换函数
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (20)docke容器
  • (8)STL算法之替换
  • (九)c52学习之旅-定时器
  • (亲测有效)推荐2024最新的免费漫画软件app,无广告,聚合全网资源!
  • (小白学Java)Java简介和基本配置
  • (一)utf8mb4_general_ci 和 utf8mb4_unicode_ci 适用排序和比较规则场景
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • 。。。。。
  • [ A*实现 ] C++,矩阵地图
  • []error LNK2001: unresolved external symbol _m
  • [AIGC] Redis基础命令集详细介绍
  • [Android 数据通信] android cmwap接入点
  • [BZOJ2281][SDOI2011]黑白棋(K-Nim博弈)
  • [BZOJ2850]巧克力王国
  • [bzoj4010][HNOI2015]菜肴制作_贪心_拓扑排序
  • [BZOJ4016][FJOI2014]最短路径树问题
  • [C++]STL之map