首页>>后端>>java->Java笔记:用静态工厂方法替代构造器

Java笔记:用静态工厂方法替代构造器

时间:2023-11-30 本站 点击:1

Java中取对象实例方法

1.共有的构造方法

Booleanbool=newBoolean("ture");publicBoolean(booleanvalue){this.value=value;}

2.静态工厂方法

Booleanbool=Boolean.valueOf("ture");publicstaticBooleanvalueOf(Strings){returnparseBoolean(s)?TRUE:FALSE;}

静态工厂方法的优势

静态工厂方法可以有自己的名字,见文知义;

静态工厂方法能够为重复的调用返回相同的对象,不必每次调用都创建一个新的实例;

//TRUE和FALSE是Boolean类的两个静态不可变属性publicstaticfinalBooleanTRUE=newBoolean(true);publicstaticfinalBooleanFALSE=newBoolean(false);

静态工厂方法可以返回原返回类型的任何子类型的对象;

...

静态工厂方法的缺点

静态工厂方法很难被程序员发现,下面给出一些通用的命名:

from - 类型转换方法

Datedate=Date.from(instant);

of - 聚合方法

Set<Rank>faceCards=EnumSet.of(JACK,QUEUE,KING);

ValueOf - 常见

Stringstr1=String.valueOf(123);Integerint1=Integer.valueOf("123");Longlong1=Long.valueOf("123");

instance或getInstance - 返回的实例通过方法的参数来描述

create或newInstance - 每次调用返回一个新的实例

...

总结

静态工厂方法更加适用,切记第一反应就是提供公有的构造器,而不先考虑静态工厂!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/java/4961.html