首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包私有访问修饰符

包私有访问修饰符
EN

Stack Overflow用户
提问于 2017-07-10 18:10:15
回答 2查看 410关注 0票数 1

如果一个类具有私有的可见性包,那么是否有必要设置方法以具有该可见性,因为首先您无法访问这些方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-10 18:17:59

例如,包私有类可能实现某些接口,并在其包之外使用。在这种情况下,实现的方法应该是public。此外,您还可以通过private访问修饰符限制同一包中某些成员的使用。

代码语言:javascript
复制
package pkg1;

public interface SomeInterface {
    void m();

    public static SomeInterface getImplementation() {
        return new A();
    }
}

class A implements SomeInterface {
    @Override
    public void m() {}

    public void m2() {} // this one cannot be called from other packages

    private void m3() {} // this one might be used only in class A
}

package pkg2;

import pkg1.SomeInterface;

public class Main {
    public static void main(String[] args) {
        SomeInterface implementation = SomeInterface.getImplementation();
        implementation.m();
    }
}
票数 1
EN

Stack Overflow用户

发布于 2017-07-10 18:24:58

如果要实现或扩展类,简单回答是肯定的。不,如果它不打算延长或实施。无论如何,我强烈建议仍然创建您不希望其他类看到的私有的方法或变量。如果您希望更改类的可维护性,这将在以后节省时间,同时使代码在长期内更易读。

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

https://stackoverflow.com/questions/45018991

复制
相关文章

相似问题

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