Java 8 default 函数
2024-08-30 01:53:59
我们知道在java8之前 ,一个类实现一个接口需要实现接口所有的方法,
但是这样会导致一个问题,当一个接口有很多的实现类的时候,修改这个接口就变成了一个非常麻烦的事,需要修改这个接口的所有实现类
不过在java8中这个问题得到了解决,没错就是default函数;
看一个例子:
interface DefaultInterface {
int operate(int a, int b); default int addition(int a, int b) {
return a + b;
}
} public class DefaultMethodTest implements DefaultInterface { @Override
public int operate(int a, int b) {
return a - b;
} public static void main(String[] args) {
DefaultMethodTest defaultMethodTest = new DefaultMethodTest();
System.out.println("5 + 3 = " + defaultMethodTest.addition(5, 3));
System.out.println("5 - 3 = " + defaultMethodTest.operate(5, 3));
}
}
我们看到 DefaultInterface 接口的addition方法用default进行了修饰,并且有自己的默认实现. 而DefaultMethodTest 实现了 DefaultInterface 接口却不用实现addition方法.
这样如果我们对一个接口就行修改,而又不想修改已经有的实现类的时候就变得非常有用.
最新文章
- Oracle学习笔记十三 触发器
- java日期工具类
- Smokeping安装教程
- Git命令行(转用于学习和记录)
- [翻译][erlang]cowboy路由模块使用
- Redis数据库的使用与介绍
- 利用HttpListener创建简单的HTTP服务
- 有关嵌入式linux的注意点总结
- PLSQL_查询已执行SQL的绑定参数(案例)
- 一个php函数,能够遍历一个文件夹下的所有文件和子文件夹
- JS字符串截取
- winform datetimepacker 开始日期 结束日期 分类: WinForm 2014-07-15 19:14 124人阅读 评论(0) 收藏
- linux 和 ubuntu 修改主机名
- Windows 端口和任务 查看 相关命令
- cocos2d-x教程2:在windows下怎样批量转换pvr,ccz为png或jpg
- Java与算法之(5) - 老鼠走迷宫(深度优先算法)
- OSXFUSE file system is not available 解决方法
- 数组遍历for forEach for..in for..of
- [译]课程 1: 使用 Quartz
- 使用crypt配置Basic Auth登录认证
热门文章
- (2)Django-pycharm部署
- 洛谷——1508 Likecloud-吃、吃、吃
- springboot 2.0 整合 同时支持jsp+html跳转
- centos7 samba安装与配置
- ios界面笔记(一)
- 【AOP】Spring AOP基础 + 实践 完整记录
- Linux学习之十三-vi和vim编辑器及其快捷键
- haifeng
- JAVA Eclipse ActivityManager Warning Activity not started, its current task has been brought to the front怎么办
- 不让命令记录到history中