首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java重写private vs public

Java重写private vs public
EN

Stack Overflow用户
提问于 2017-06-14 15:49:56
回答 0查看 1.2K关注 0票数 3

我现在正在学习如何重写,并且我读到私有方法不能重写here

我还了解到,访问级别不能比超类访问级别here更严格

所以我想知道的是,这是否意味着你只能重写公共方法?你的新方法也必须是公开的吗?

场景

代码语言:javascript
复制
class A {
    private void method1(){
        ....
    }
}

class B extends A {
    private void method1(){
        ....
    }
}

我说这将是一个编译时错误,因为私有方法不能被覆盖,我这样说对吗?

Scenario2

代码语言:javascript
复制
class A {
    public void method1(){
        ....
    }
}

class B extends A {
    private void method1(){
        ....
    }
}

我说这也会产生编译时错误,对吗?因为Bmethod1()的访问级别比A中的method1()更严格

Scenario3

代码语言:javascript
复制
class A {
    public void method1(){
        ....
    }
}

class B extends A {
    public void method1(){
        ....
    }
} 

最后一个问题,这是唯一可以覆盖的场景方法吗?(两个访问级别都是公共的)

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44538654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档