如何避免從外界創建B類對象,並只允許通過A類?如何避免從外界創建B類對象,並只允許通過A類
我有2類
public class A {
B obj = null;
public A() {
obj = new B();
}
public void methodA() {
obj.methodB();
}
// other methods
}
public class B {
public void methodB() {
// some logic
}
//other methods
}
public class Client {
public static void main (String s[]) {
// Valid Call
A obj = new A();
obj.methodA(); // Since methodB is called internally
// Invalid Call , How to restrict this B object creation here ?
B objB = new B();
objB.methodB();
}
}
從public void B移除public !! – perilbrain 2012-08-08 07:16:16
我們可以檢查哪個類試圖創建B類的默認構造函數中的類B的對象嗎? – 2012-08-08 07:22:18
AFAIK,它不可能找到正在嘗試創建另一個類的實例的類,因爲對象創建是在JVM的控制之下。 – sundar 2012-08-08 07:25:01