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 ...
随机推荐
- Oracle 11g 单机服务器ASM部署
Oracle oracle,相比都有所了解,是一家企业级的数据库公司(收费),上图是oracle官网,也是对外的服务平台 oracle有自己独特的安装方式:ASM : 自动存储管理(ASM,Au ...
- Vue scoped样式
scoped样式: 作用:让样式在局部生效,防止冲突 写法:<style scoped>
- JavaScript查找两个节点的最近的一个共同父节点,可以包括节点自身
- python笔记--在文件进行输出
将print的内容输出到文件中 1 #将数据输出到文件中 2 fp=open('E:/text1.txt','a+') 3 print('hello word',file=fp) 4 fp.close ...
- Day 13 13.2 requests之请求参数与请求体
请求参数与请求体参数 一.什么是params参数(请求参数) get 方法是可以向服务器发送信息的,除了可以请求需要的页面之外,也可以发送我们指定的内容,这就是通过 params 参数实现的 requ ...
- vue实现瀑布流
<template> <div id="app"> <ul> <li ref='waterfallItem' v-for="(i ...
- Oracle RAC单节点启停
由于单节点操作系统需要重启维护,版本为12C 确认集群的db_unique_name,本初的db_unique_name为orcl SQL> show parameter name SQL> ...
- Springcloud gateway整合(集成)swagger2+finfe4j踩坑
项目使用gateway代替之前的zuul网关,需要整合swagger,踩了许多坑之后终于解决问题,话不多说直接上代码 因为使用的是阿里的东西所以注册中心选择了nacos,它的配置这里就不贴了 spri ...
- Unity 保存截图功能
1.下面是实现代码 using System.Collections; using System.Collections.Generic; using UnityEditor; using Unity ...
- 关于Python 面向对象寻值的问题. How the number be found in the OOP in Python
今天在看Python面向对象的时候看到了一个很有意思的问题 Today. When i learning the OOP in python , I found a very interesting ...