接口重名方法
实现类要满足方法重载的基本原则:1 方法名相同 2 参数列表不同
两个接口中抽象方法重名:
1 参数列表+返回值 都相同:实现类只要实现一次此方法即可
2 参数列表相同+返回值不同:实现类无法直接实现两个方法(IDE报错),因为不满足方法重载原则
3 参数列表不相同:实现类可以分别实现两个方法,可以方法重载
两个接口中默认方法重名:
则IDE会提示重写只能其中一个接口的方法,重写后只能调用重写方法,无法直接调用接口中原方法。
若有需要,将接口中的重名默认方法,放到实现类的两个不同方法中
@Override
public void run1() {
// a接口run1()
a.super.run1();
}
public void runb() {
// b接口run1()
b.super.run1();
}
两个接口中静态方法重名:
无论有无重名,都不能通过实现类的类名直接调用接口中的静态方法
例如:C类 实现接口 a,a中有 static void run();
不能C.run()。只能a.run();
实现类处理a,b接口重名静态方法
public void runas() {
//a接口 静态方法
a.r();
}
public void runbs() {
//b接口 静态方法
b.r();
}