Skip to content

Java中是否可以覆盖(override)一个private方法 #10

@yebuguntang

Description

@yebuguntang

Java中是否可以覆盖(override)一个private方法

答:不能覆盖一个private方法。

定义来分析:
查阅了很多资料,查到最好的定义是:重写(覆盖/覆写/override)是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。

继承层面分析:
重写的前提是继承,继承只能继承非私有的属性和方法(但可以通过暴露的公共方法访问私有属性和方法)。子类对父类的私有方法并不可见。所以可见方法只是同名并不是重写。
可以在方法上面加上注解@OverRide进行验证,报错信息如下:Method does not override method from its superclass。

写的很啰嗦,希望有大佬可以给出更简洁的答案。
对具体有关重写父类方法的规则感兴趣的可以读下这篇博客https://blog.csdn.net/heshuangyuan123/article/details/38896329

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions