考虑用静态工厂方法替代构造器
原来创建一个自定义类的实例最常用的方法是采用构造器,但一个类可以有多个构造器,而所有的构造器名字都相同,我们只能通过参数来区分不同构造器的作用。除了采用构造器外,还可以采用静态工厂方法,该方法返回类的实例便可,自定义的方法可以自己命名,这样一来就很容易区分每个方法的作用了。
例子:
publicclass CreateObject
{
intage;
String name;
public CreateObject(String
name){
this.name =
name;
}
public CreateObject(String
name,int age){
this.name =
name;
this.age =
age;
}
//....
publicstatic CreateObject
getInstanceWithName(String name){
returnnew CreateObject(name);
}
publicstatic CreateObject
getInstanceWithNameAndAge(String name,int age){
returnnew CreateObject(name,
age);
}
publicstaticvoid main(String[]args){
CreateObject createObject = new CreateObject("nnn");
CreateObject createObject2 = new CreateObject("nnn",
11);
CreateObject createObject3 = CreateObject.getInstanceWithName("mmm");
CreateObject createObject4 = CreateObject.getInstanceWithNameAndAge("mmm",
22);
}
}
静态工厂方法好处:
1、静态工厂方法有名称
2、可以用于创建单例模式,而构造器每次都会创建一个新实例
3、可以返回该类的任何子类,从而可以实现子类的灵活实例化
版权声明:本文为博主原创文章,未经博主允许不得转载。