Java 类实现接口
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();
}
}
Java 类实现接口的更多相关文章
- 要创建一个EJB,必须要至少编写哪些Java类和接口?
要创建一个EJB,必须要至少编写哪些Java类和接口? A. 定义远程(或业务)接口 B. 定义本地接口 C. 定义Bean接口 D. 编写Bean的实现 解答:ABC
- java类,接口浅谈
一般类,抽象类,接口的使用场景: 类;共同的特征和行为的抽取和封装 接口:标准,规范(功能的扩展) 需要对某个类进行功能的扩展,就让某个类实现这个接口,抽取出来称为接口 内部类: ...
- [Java] 类和接口的初始化步骤 - 继承方面
类和接口在初始化化时,处理继承层级的方法不一样. 类继承的初始化:通过引用 static 字段,触发某个类的初始化,则声明该字段的类,以及该类的父类被初始化. 接口继承的初始化:通过引用 static ...
- Java 类、接口的API
本章节收集的类/接口API有: Object类,枚举,包装类,接口Comparable,类Arrays,Thread类,System类,Math,BigInteger,Random,日期时间,异常 O ...
- 10-01 Java 类,抽象类,接口的综合小练习--运动员和教练
运动员和教练的案例分析 运动运和教练的案例 代码实现 /* 教练和运动员案例 乒乓球运动员和篮球运动员. 乒乓球教练和篮球教练. 为了出国交流,跟乒乓球相关的人员都需要学习英语. 请用所学知识: 分析 ...
- EFFECTIVE JAVA 类和接口
第十六条:复合优先于继承 //这是一个不好的类---执行的结果 addCount = 4(addAll的实现依赖于HashSet的add方法,InstrumentHashSet方法重写了add方法有执 ...
- Java常用类、接口关系图谱
呕心沥血画出此图,希望在使用Java类.接口时捋顺其关系,从而更好的组织程序逻辑---请看图 Object分出来的类都是其子类 Iterable接口分出的也是子接口 从继承关系分析,其父类实现的接口子 ...
- Java类的加载、链接和初始化
一.Java的类加载机制回顾与总结: 我们知道一个Java类要想运行,必须由jvm将其装载到内存中才能运行,装载的目的就是把Java字节代码转换成JVM中的java.lang.Class类的对象.这样 ...
- java 类的加载,链接,初始化
本篇的话题,讨论Java类的加载.链接和初始化.Java字节代码的表现形式是字节数组(byte[]),而Java类在JVM中的表现形式是java.lang.Class类的对象.一个Java类从字节代码 ...
- Android studio无法创建类和接口问题解决办法。提示 Unable to parse template "Class"
重新配置了studio 的工作环境, 没问题,后来加需求要新增java类和接口,这就出现问题了,新建的时候,就会报错: Unable to parse template "Interface ...
随机推荐
- label 与input其中input的 id与name
<div> <label for="myfile">新头像 {% load static %} <img src="{% static 'i ...
- js中各种事件监听
html.push('<input type="button" id="autocount_' + sysTime + '" class="la ...
- vscode 设置默认模板
1.左下方管理按钮 2.用户代码片段 3.搜索html.json 4.{ "Print to vue": {//print to 后面的vue是模板的命名 "prefi ...
- 1405. 最长快乐字符串 (Medium)
问题描述 1405. 最长快乐字符串 (Medium) 如果字符串中不含有任何 'aaa', 'bbb' 或 'ccc' 这样的字符串作为子串,那么该字符串就是一个「快乐字符串」. 给你三个整数 a, ...
- iOS 制作一个动态库
方式一 1.新建一个framework 命名为test 2.将build archive architecture only 改成 NO 3.将Mach-O Type 改成 static Lib ...
- OpenStack 卷虚拟机跨租户迁移方案
目标:迁移租户A的卷虚机到租户B 场景:使用卷虚拟机,租户a和b使用相同网络 租户A的操作: 1.记录虚拟机的ip地址,Mac信息, nova interface-list neutron port- ...
- chrome 检查更新时出错:无法启动更新检查(错误代码为 4: 0xA0430817 -- system level)
Windows系统谷歌浏览器 Chrome 检查更新时出错:无法启动更新检查(错误代码为 4: 0x80070005 -- system level)该怎么办? 这很有可能是 Chrome 更新服务被 ...
- 使用Libusb和hidapi测试HID设备
一.测试中断或者Bulk传输: 首先要使用Libusb打印出HID设备的Endpoint查看是否支持中断或者Bulk传输模式:如果支持的话才可以进一步测试: 因为HID设备在插入的时候无需安装,并且一 ...
- db2 linux创建用户后,登录报错
db2的数据库服务器, 创建用户及授权参考 https://blog.csdn.net/qq_24805831/article/details/102590084 按照步骤创建用户后,连接数据库报错: ...
- C#笔记誊录
1.继承 面向对象的三大特征: 封装性 继承性 多态性 一.继承:类与类的关系 为什么会用继承:减少代码重复 优化 空间内存 实现多态 class 基类 { //基类成员 } class 子类:基类 ...