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