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

匿名内部类

下面代码中,Person24 是一个抽象类,这意味着它不能被直接实例化,只能通过继承它的子类来实现其抽象方法。代码片段中展示了如何使用匿名内部类来实现一个抽象类的实例。

package chapter04;public class Java24_Object_匿名内部类 {public static void main(String[] args) {// TODO 面向对象// 在某些场合下,类的名字不重要,我们只想要使用类中的方法或功能,那么此时我们可以采用特殊的语法:匿名类// 所谓匿名类,就是没有名字的类, 创建只使用一次的类的对象Me me = new Me();me.sayHello(new Person24() {@Overridepublic String name() {return "zhangsan";}});// 上面匿名类的写法等价于下面的代码// 创建一个名为 Zhangsan 的类继承自 Person24class Zhangsan extends Person24 {@Overridepublic String name() {return "zhangsan";}}// 创建 Zhangsan 类的实例并传递给 sayHello 方法Person24 person = new Zhangsan();me.sayHello(person);}
}abstract class Person24 {public abstract String name();
}class Me {public void sayHello(Person24 person24) {System.out.println("Hello, " + person24.name());}
}

下面代码片段中展示了如何使用匿名内部类来实现一个接口的实例。

package chapter04;public class Java24_Object_匿名内部类 {public static void main(String[] args) {// 使用匿名内部类来实现接口 Fly24new Fly24() {@Overridepublic void fly() {System.out.println("使用飞行器飞翔");}}.fly();// 上面匿名类的写法等价于下面的代码// 创建一个名为 PersonFly24 的类实现接口 Fly24class PersonFly24 implements Fly24 {@Overridepublic void fly() {System.out.println("使用飞行器飞翔");}}// 创建 PersonFly24 类的实例并调用 fly 方法PersonFly24 personFly24 = new PersonFly24();personFly24.fly();}
}// 接口中定义的属性都是常量,不能更改
// 接口中定义的方法都是抽象的
interface Fly24 {void fly();
}
http://www.lryc.cn/news/392581.html

相关文章:

  • react_web自定义组件_多类型Modal_搜索栏Search
  • Apache Flink架构介绍
  • 华为HCIP Datacom H12-821 卷28
  • 安装Nginx以及简单使用 —— windows系统
  • 【UE5.3】笔记8 添加碰撞,检测碰撞
  • 丝滑流畅!使用kimi快速完成论文仿写
  • 【C++】认识使用string类
  • 如何在 Odoo 16 中对 Many2Many 字段使用 Group by
  • PCL从理解到应用【03】KDTree 原理分析 | 案例分析 | 代码实现
  • Windows 11内置一键系统备份与还原 轻松替代Ghost
  • leetCode-hot100-动态规划专题
  • 【算法笔记自学】入门篇(2)——算法初步
  • Redis基础教程(六):redis 哈希(Hash)
  • 鸿蒙开发设备管理:【@ohos.account.appAccount (应用帐号管理)】
  • java项目自定义打印日志,打印请求方式,参数用时等
  • 03:EDA的进阶使用
  • Linux/Unix系统指令:(tar压缩和解压)
  • MySQL 日期和时间函数知识点总结
  • 鸿蒙登录页面及页面跳转的设计
  • 【居家养老实训室】:看中医保健在养老中的应用
  • 【区块链+基础设施】区块链服务网络 BSN | FISCO BCOS应用案例
  • 六、快速启动框架:SpringBoot3实战-个人版
  • SA 注册流程
  • 图像的灰度直方图
  • 软件测试面试题:Redis的五种数据结构,以及使用的场景是什么?
  • Java后端每日面试题(day1)
  • AI与测试相辅相成
  • 搜索+动态规划
  • strcpy,srtcmp,strlen函数漏洞利用
  • SketchUp + Enscape+ HTC Focus3 VR