public class A implements B,C{
 public A(){
 }
 public void funB()
 {
 }
 public void funC()
 {
 }
}
public interface B{
 public void funB();
}
public interface C{
 public void funC();
}
public Factory
{
  public staic B getBInstance()
  {
     return new A();
  }
  ......
}
我如果只想给外面接口B或者C,但是B,C的实现对象都需要new A()来做,通过Factory类,来return 对应的接口对象,如果A不设置成public 那么B,C的实现对象都生成不了,但是如果设置成public 那么,直接生成A a = new A();这样B,C的方法又可以同时使用了,用接口的意义就没有了。
我该怎么做才能只暴露接口出去,把实现类屏蔽,让用户无法调用。