我正在尋找Java中問題的解決方案。希望團隊可以幫助我。Java抽象和接口
考慮以下類:
Class A{
//constructor
Object obj;
public A(Object obj){
this.obj = obj;
}
public void ma1(){
system.out.println("In ma1");
obj.mc1();
}
public void ma2(){
system.out.println("In ma2");
//A should not be able to access mc2
obj.mc2();
}
}
Class B{
//constructor
Object obj
public B(Object obj){
this.obj = obj;
}
public void mb1(){
system.out.println("In mb1");
// B should not be able to access mc1
obj.mc1();
}
public void mb2(){
system.out.println("In mb2");
obj.mc2();
}
}
Class C{
public void mc1(){
system.out.println("In mc1");
}
public void mc2(){
system.out.println("In mc2");
}
}
public static void main(String[] args){
A a = new A(new C);
B b = new B(new C);
a.ma1();
a.ma2();
b.mb1();
b.mb2();
}
現在我想的對象「A」應該能夠訪問MC1和不MC2 我想對象「B」應該能夠訪問MC2,而不是MC1
任何人都可以解釋我如何實現上述功能? 注意:A類,B類是我的工具類,它的方法在我的項目的多個地方使用。我想限制我的開發人員訪問特定的方法。
問候, 沙
你可以有ç實現2個接口,其中一個每個方法,並定義A應該接收一個接口的實例,而另一個接口B。 C將有資格獲得這兩項資格。 – njzk2 2014-09-24 20:54:40
謝謝@ njzk2。不過,我瞭解你的建議。你能詳細說明並提供代碼嗎? – user3401717 2014-09-24 20:56:15
爲什麼它被拒絕投票? – user3401717 2014-09-25 17:17:16