java - 包私有(private)访问修饰符

标签 java

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

最佳答案

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

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();
    }
}

关于java - 包私有(private)访问修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45018991/

相关文章:

java - 使用Gradle进行时间点构建

java - Play Framework 安全问题

java.lang.Exception : java. lang.ArrayIndexOutOfBoundsException:7

java - Java 是否有任何计划添加隐式 Getters 和 Setters?

java - 密码输入规则

java - 摇床排序或双向冒泡排序

java - 使用反射访问java中子类和父类(super class)的属性

java - 使用 ReSTLet 和 GAE 过滤 ROOT 路径

java - spring中的顺序依赖注入(inject)是什么?

java - 在根项目gradle上找不到自定义任务的属性