Java中,子类在继承父类的方法时,各种限定词的继承情况总结如下:
限定符 | 作用域 | 子类可用 |
---|---|---|
private | 仅在该类中可用 | 不可被继承 |
- | 仅在同包中可用 | 可被修改权限为protected和public |
protected | 同包及子类可用 | 可被修改权限为public |
public | 所有都可用 | 不能被修改为更弱的权限 |
由此可知,继承时只能继承为更宽松的限定。
首先明确一点,可以继承,但是父类方法会被隐藏。
子类中不可以有同名的非静态方法。
例如:
父类{
public static void hello(){}
}
子类 extends 父类{
public void hellp(){}
}
以上情况会出错。实例方法不能覆盖父类的静态方法。
只要能继承,父类有的话,子类也可以没有;父类没有子类也可以有。因此synchronized关键字与继承无关。
如果父类抛出异常,子类如果要引用父类的方法,那么在子类方法中处理异常即可;
如果父类不抛出异常,那么子类不可以抛出异常。
原文:https://www.cnblogs.com/pravez/p/12525436.html