日期:2014-05-20  浏览次数:20637 次

定义两个类A类和B类,怎么令A类只能经过B类的方法来实例化,而不能直接用new?
如题,以前好像看见过有这样的用法,特来请教

定义两个类A类和B类,怎么令A类只能经过B类的方法来实例化,而不能直接用new?
------解决方案--------------------
希望实例个数不限,用工厂模式来做,具体跟单体模式差不多
------解决方案--------------------
将A类定义为B的内部类
------解决方案--------------------
package day2;

public class Test1 {
    public static void main(String[] args) {
new B().getA();
}
}
class B{
    public A getA(){
     return new A();
    }
class A{
A(){
System.out.println("A类对象创建成功");
}
}
}