如果一个类具有私有的可见性包,那么是否有必要设置方法以具有该可见性,因为首先您无法访问这些方法?
发布于 2017-07-10 18:17:59
例如,包私有类可能实现某些接口,并在其包之外使用。在这种情况下,实现的方法应该是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();
}
}发布于 2017-07-10 18:24:58
如果要实现或扩展类,简单回答是肯定的。不,如果它不打算延长或实施。无论如何,我强烈建议仍然创建您不希望其他类看到的私有的方法或变量。如果您希望更改类的可维护性,这将在以后节省时间,同时使代码在长期内更易读。
https://stackoverflow.com/questions/45018991
复制相似问题