如果一个类具有私有(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/