零、继承中同名方法的问题
- Java中类是单继承,如果子类和父类出现同名方法,该方法要么满足重载规则,要么满足重写规则,否则子类继承报错;
- Java中接口允许多继承,如果不同的父接口中出现同名方法,这些方法要么满足重载规则,要么满足重写规则,否则子接口继承报错、子类因无法实现该同名方法报错;
如下例所示,子类实现两个接口时因show方法无法满足重写规则中小于等于的返回值类型而报错(相同的方法名和参数列表、大于等于的访问权限、小于等于的返回值类型和抛出异常类型),因为返回值类型void和int没有共同的子类;修改形参列表可以满足重载规则消除错误(同一个类中相同的方法名不同的形参列表——形参列表数量不同、类型不同、数量和类型相同但顺序不同)。
public interface Service {
void show();
}
public interface Service2 {
int show();
}
除此之外,本文主要想讨论Java8中静态方法和默认方法:
- 方法权限
- 方法调用:接口中调用、子接口中调用、子类实现中调用、子