如何更准确地控制Java类之间的可见性?

时间:2018-08-24 15:31:26

标签: java visibility

我具有以下Java类层次结构:

package packagea;

public class A{
  private int id;

  protected int getId(){return id;}

  public void somePublicMethod1();
}


package packageb;

public class B{
  public void useId(A aObj){
    aObj.getId();    //can't access
  }

  public void somePublicMethod2();
}

我想防止用户访问A类的ID,但是我想在B类中使用此ID。但是B不会扩展A,并且它们不在同一包中。

一种可能的解决方案是将A和B放在同一包装中,并将getId的可见性更改为受包装保护。但是我不想将所有要使用A的id的类放入同一包中。

有什么方法可以指定一些可以访问A的ID的类,而另一些则不能?

0 个答案:

没有答案