实现多个具有相同方法的接口和父类与实现接口有相同方法
来源:互联网 发布:金山数据恢复 账号 编辑:程序博客网 时间:2024/05/16 09:41
一、实现多个具有相同方法的接口
这种情况还是比较少会遇到的,但事实是存在这样的问题,所以写下解决的方法:
使用内部类:
interface InterA {
void f();
}
interface InterB {
void f();
}
public class C implements InterA {
public void f() {
// 实现接口InterA方法
System.out.println("A.f()");
}
private classImplB implementsInterB {
public void f() {
// 实现接口InterA方法
System.out.println("B.f()");
}
}
public InterB getB() {
return new ImplB();
}
// 使用
public static void main(String[] args) {
C c = new C();
InterA a = c; //C实现了A接口,可以直接向上转型
a.f();
InterB b = c.getB();
b.f();
}
}
这样就区分开使用不同接口的方法,如果是直接实现两个接口,然后实现方法,那么将是同时实现两个接口中的方法。
二、父类与实现接口有相同方法
当父类中有与实现接口相同的方法时,比如(使用HTTPServlet实现的Filter就具有相同的destroy方法)
如果不显示实现方法会发现没有语法的错误,那么就是说明继承下来的方法实现了接口中的同名方法。
如果需要区分开,那么需要重写放以及增加一个方法,在增加的方法中使用super关键字调用父类的方法,而重写方法不调用父类方法,那么就算是区分开了。。
注:如果情况在复杂一点(如更多接口,还有一个父类)交叉多个相同方法。。。。。。。大家应该很难才会遇到这样的情况。。。而且接口的设计方法都是有意义的,不会有那么多的同名。。
- 实现多个具有相同方法的接口和父类与实现接口有相同方法
- 类继承多个接口有相同的方法时,怎么办?(接口显式实现的作用)
- 子类的父类和接口有相同的方法
- 关于抽象类和接口中含有相同方法的实现的一点思考
- 子类继承父类的同时又去实现一个成员变量、方法与父类相同的接口,最后调的是谁的成员变量和方法?
- Delphi 接口:两个接口有相同名称的方法
- Java中一个类怎么实现两个接口中相同名字的抽象方法
- [Android开发] 修改Gradle实现同时安装多个相同apk共存的方法和分析
- 一个类继承不同接口存在相同方法的处理
- 子类的父类和接口有相同的成员变量
- 接口、实现类和方法的调用
- 加载多个实现类实现了同一个接口方法
- 生成多个相同item的方法
- 接口和父类具有同名属性、方法重载
- java 类implements多个接口含有相同名字函数
- C# 接口 与 接口方法实现
- Java多态和实现接口的类的对象赋值给接口引用的方法
- Java中接口的定义与实现接口抽象方法
- 编程之美一 旋转的二进制(待确认)
- IE8兼容<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
- 我的选择?
- jquery源码分析(2) JQuery的基本变量和函数3
- 杭电2084数塔
- 实现多个具有相同方法的接口和父类与实现接口有相同方法
- 头指针,头结点,首元结点的区别,头结点的优点
- C++ 二叉搜索树头文件
- Apache许可证
- ExtJS 4.0 的改变--较为完整的介绍
- select函数使用注意
- 杭电acm 2015
- 杭电 2047 阿牛的EOF牛肉串
- 7种形式的Android Dialog使用举例