没有合适的资源?快使用搜索试试~ 我知道了~
【Java基础】Java8新特性—接口中使用default和static关键字
5 下载量 62 浏览量
2020-12-22
04:24:08
上传
评论
收藏 70KB PDF 举报
温馨提示
试读
2页
目录一.新特性二.defalut方法三.static方法 接口中的变量默认类型是public static final,也是就是说是 公有静态常量 。 而方法默认是public abstract,公有抽象方法,但是事实真的是这样吗? 一.新特性 Java 1.8对接口有两个方面的增强:接口中可以添加使用default或者static修饰的方法 增加default方法:又叫做接口扩展方法,即在不破坏java现有实现架构的情况下能往接口里增加新方法, default关键字可以给接口添加一个非抽象的方法实现,子类可以直接调用! 如果想对接口增加一个新方法,那么需要对实现该接口的所有类进行修改,如果接
资源推荐
资源详情
资源评论
【【Java基础】基础】Java8新特性新特性—接口中使用接口中使用default和和static关键字关键字
目录目录一.新特性二.defalut方法三.static方法
接口中的变量默认类型是public static final,也是就是说是 公有静态常量公有静态常量 。 而方法默认是public abstract,公有抽象方法公有抽象方法,但是事实
真的是这样吗?
一一.新特性新特性
Java 1.8对接口有两个方面的增强:接口中可以添加使用对接口有两个方面的增强:接口中可以添加使用default或者或者static修饰的方法修饰的方法
增加default方法:又叫做接口扩展方法,即在不破坏java现有实现架构的情况下能往接口里增加新方法, default关键字可以给接口添加
一个非抽象的方法实现,子类可以直接调用!
如果想对接口增加一个新方法,那么需要对实现该接口的所有类进行修改,如果接口实的现类很多,就会带来很大的工作量,而且
还很容易破坏以前的代码,带来一些问题。如果把新的方法定义为default方法,就可以避免对其他实现类的修改。尽管如此,Default
方法不适合过多使用
增加static方法: 接口中用static修饰的方法也可以有方法体,和类的静态方法一样,可以通过 接口名接口名.方法名方法名 进行接口中 static方法的调
用。
二二.defalut方法方法
实现类会继承接口中的实现类会继承接口中的default方法方法
如果接口A中有default方法:
public interface A {
public default void a(){
System.out.println("这是AAA");
}
}
B类实现接口A:
public class B implements A{
}
那么B类将会继承接口A中的a方法:
public class Main {
public static void main(String[] args) {
B b = new B();
b.a();
}
}
执行结果:
如果一个类同时实现接口如果一个类同时实现接口A和和B,接口,接口A和和B中有相同的中有相同的default方法,这时,该类必须重写接口中的方法,这时,该类必须重写接口中的default方法方法
为什么要重写呢?是因为,类在继承接口中的default方法时,不知道应该继承哪一个接口中的default方法。
接口A:
public interface A {
public default void a(){
System.out.println("这是A");
}
}
接口B:
public interface B {
public default void a(){
System.out.println("这是B");
}
}
Test类:
资源评论
weixin_38718413
- 粉丝: 9
- 资源: 946
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功