public static Boolean valueOf(boolean b){
return b ? Boolean.TRUE : Boolean.FALSE;
}
好处:
1、静态工厂方法有名称:一个类只能有一个带有指定签名的构造器。不能只在参数类型的顺序上有所不同。因为用户永远也记不住该用哪个构造器。
2、不必再每次调用它们的时候都创建一个新的对象。
private
static
Person
person;
static
{
person
=
new
Person(1,
"xiaoming",
new
Date(),
"shandong"
);
}
public
static
Person defaultPerson(){
return
person
;
}
3、可以返回原返回类型的任何子类型的对象
4、在创建参数化类型实例的时候,它们使代码变得更加简洁。
缺点:
1、类如果不含公有对的或者受保护的构造器,就不能被子类化。
2、它们与其他的静态方法实际上没有任何区别。