Java 类实现接口
2024-09-08 18:36:11
1. 一个类的直接父类是唯一的,但是一个类可以同时实现多个接口
public class MyInterfaceImpl implements MyInterfaceA, MyInterfaceB {
// 覆盖重写所有抽象方法
}
2. 实现类没有覆盖重写接口中所有的抽象方法,实现类必须是一个抽象类
3. 实现类实现的多个接口存在重复的抽象方法,实现类只需要实现一次即可
4. 实现类实现的多个接口存在重复的默认方法,实现类必须要重写该默认方法
5. 一个类直接父类的方法,和接口中的默认方法产生冲突,优先父类中的方法
//接口A
public interface MyInterfaceA {
public abstract void methodA(); public abstract void method(); public default void methodDefault(){
System.out.println("默认方法 AAA");
}
} //接口B
public interface MyInterfaceB {
public abstract void methodB(); public abstract void method(); public default void methodDefault(){
System.out.println("默认方法 BBB");
}
} //实现多个接口的类
public class MyInterfaceImpl implements MyInterfaceA, MyInterfaceB { @Override
public void methodA() {
System.out.println("覆盖重写A方法");
} @Override
public void methodB() {
System.out.println("覆盖重写B方法");
} @Override
public void method() {
System.out.println("覆盖重写AB接口重复的抽象方法");
} @Override
public void methodDefault() {
System.out.println("对多个接口中冲突的默认方法覆盖重写");
}
} //抽象实现类
public abstract class MyInterfaceAbstract implements MyInterfaceA, MyInterfaceB {
@Override
public void methodA() { } @Override
public void method() { } @Override
public void methodDefault() { }
}
//父类方法和接口默认方法冲突
public class Fu {
public void method(){
System.out.println("父类中的方法");
}
} //接口
public interface MyInterface {
public default void method(){
System.out.println("接口中的默认方法");
}
} //子类
public class Zi extends Fu implements MyInterface{
} //测试
public class Demo01Interface {
public static void main(String[] args) {
Zi zi = new Zi();
zi.method();
}
}
最新文章
- APC注入(Ring3层)
- Rootkit Hunter恶意程序查杀
- sql 读取本地txt文件批量插入数据库
- 调用支付宝PHP接口API实现在线即时支付功能(UTF-8编码)
- [TopCoder] SRM_594_DIV2.250
- 解决linux ping: unknown host www.baidu.com(转)
- SQL如何获取时间的方法?
- git上传遇到 GitHub could not read Username 的解决办法
- 2017年编程语言排行榜Top10,第一名是?
- 深入理解ES6之—块级绑定
- HDU 1729
- ES6数组新增的几个方法
- Selenium Navigation
- C# 封装SDK 获取摄像头的水平角度和垂直角度
- B-Tree外存数据结构 _(B 树)第二部分
- will not be exported or published. Runtime ClassNotFoundExceptions may result.
- docker存储volume
- Vue2学习笔记:数据交互vue-resource
- 基于zookeeper、连接池、Failover/LoadBalance等改造Thrift 服务化
- NodeJs 基础知识