Effective Java——(一)创建和销毁对象

第一条 考虑用静态工厂方法代替构造器

什么叫静态工厂方法,就是通过在类中通过静态方法对对象初始化。
比如说

public class StaticFactory {
	
	private String name;
	private Integer age;
	
	public StaticFactory(){
		System.out.println("hello");
	}
	
	public static StaticFactory initAndGetObject(String name,int age){
		StaticFactory sf = new StaticFactory();
		sf.setAge(age);
		sf.setName(name);
		return sf;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Integer getAge() {
		return age;
	}

	public void setAge(Integer age) {
		this.age = age;
	}	

}

用这种方法确实可以代替构造器。
静态工厂方法相比于构造器的优点之一在于:它们有名称。比如我可以随便起名称getObject,getInstance,getStaticFactoryObject,而如果使用构造器的话,就只能是StaticFactory()或者带不同参数的构造器。

优点之二在于,可以不用每次调用的时候都创建一个新对象,这里就使用到了单例。

原文地址:https://www.cnblogs.com/fonxian/p/5866997.html