静态方法M
返回一个对象实现接口A
:
interface A { ... }
static A M() { ... }
在M
我想构造一个类型的对象B
并返回它,给定B
实现A
:
class B implements A { ... }
我不希望客户端代码知道有关如何B
实现的任何信息,我宁愿B
不成为一个类static
,B
必须是不可变的,并且可以不同的方式B
交给不同的客户端。我想不惜一切代价阻止B
外部方法的实例化M
(正如一位用户评论的那样,缺少反射)。
我怎样才能实现上述目标?我应该在哪里以及如何实施B
?您能否提供一个简短的代码示例?
我的主要问题是:我怎样才能拥有“不同B
的 s”?