编写Java程序,演练匿名内部类应用
2024-09-06 21:01:04
返回本章节
返回作业目录
需求说明:
定义一个抽象类 Bird,创建使用匿名内部类的操作类Action。
实现思路:
定义抽象类Bird。在其中定义一个String类型的name属性,一个返回类型是int的抽象方法fly(),以及getName()方法
定义操作类Action,在其中定义一个op()方法,该方法的形参为Bird类型。
在main()方法中,实例化一个Action对象,并调用该对象的op()方法。op()方法的实参是一个继承了Bird抽象类的匿名内部类对象,该内部类重写了Bird类的getName()和fly()。
实现代码:
public abstract class Bird {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public abstract int fly();
}
public class Action {
public void op(Bird bird){
System.out.println(bird.getName() + "能够飞 " + bird.fly() + "米");
}
public static void main(String[] args) {
Action action = new Action();
action.op(new Bird() {
public int fly() {
return 10000;
}
public String getName() {
return "大雁";
}
});
}
}
最新文章
- Python基础(二)
- 【从API学英语】-DriverManager
- git 教程(10)--添加远程库
- Java for LeetCode 234 Palindrome Linked List
- [转载] Calculating Entropy
- Android--数据持久化之内部存储、Sdcard存储
- Express中使用mongodb存储session
- C++类:private、public、friend、protected的区别
- OpenGL缓冲区
- poj1207 3n+1 problem
- python3 进行字符串、日期、时间、时间戳相关转换
- Node入门教程(6)第五章:node 模块化(上)模块化演进
- Oracle11g自带的SQL_developer无法打开
- LXC 容器集chroot使用说明
- 树莓派获取ip地址发送到邮箱
- Android手机端抓包方法
- Apache和Nginx的Rewrite规则对比
- [BUAA_SE_2017]结对项目-数独程序扩展
- 20135239益西拉姆 Linux内核分析 进程的描述和进程的创建
- 【Visual Studio】解决方案未保存,请先保存你的解决方案,然后再管理Nuget包
热门文章
- 自定义控件CustomAlertView
- Linux学习 - 正则表达式
- Linux学习 - ifconfig
- @Value(";#{}";)与@Value(";${}";)
- 统计网卡流量的两段shell脚本(使用ifconfig)
- maven 是什么?
- C/C++语言结构体指针的使用
- 云服务器ECS部署和卸载RabbitMQ
- Redis持久化 aof和rdb的原理配置
- 『学了就忘』Linux系统管理 — 82、Linux中进程的查看(ps命令)