Java 继承规则相关知识

Java中,子类在继承父类的方法时,各种限定词的继承情况总结如下:

权限限定符

限定符 作用域 子类可用
private 仅在该类中可用 不可被继承
  • | 仅在同包中可用 | 可被修改权限为protected和public
    protected|同包及子类可用|可被修改权限为public
    public|所有都可用|不能被修改为更弱的权限
    由此可知,继承时只能继承为更宽松的限定。

静态限定符

首先明确一点,可以继承,但是父类方法会被隐藏。
子类中不可以有同名的非静态方法。
例如:

父类{
    public static void hello(){}
}
子类 extends 父类{
    public void hellp(){}
}

以上情况会出错。实例方法不能覆盖父类的静态方法。

同步限定符synchronized

只要能继承,父类有的话,子类也可以没有;父类没有子类也可以有。因此synchronized关键字与继承无关。

异常抛出

如果父类抛出异常,子类如果要引用父类的方法,那么在子类方法中处理异常即可;
如果父类不抛出异常,那么子类不可以抛出异常。

posted @ 2020-03-19 17:00  PraveZ  阅读(504)  评论(0编辑  收藏  举报