java – 使用Factory方法的对象实例化
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 使用Factory方法的对象实例化,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1294字,纯文字阅读大概需要2分钟。
内容图文
![java – 使用Factory方法的对象实例化](/upload/InfoBanner/zyjiaocheng/744/003453d38e9b461bb0bf0607165aeba8.jpg)
我目前正在参加CS2课程(数据结构),其中Java是使用的语言,我有兴趣使用传统的构造函数方法比较和对比对象实例.工厂方法.一个人比另一个代表更高程度的计算优雅吗?工厂方法是否会以类似于参数化构造函数的方式处理参数?例如:
public class Tester
{
private String name;
private int age;
// Parameterized constructor
public Tester(String myName, int myAge)
{
this.name = myName;
this.age = myAge;
}
}
从本质上讲,我非常好奇如何编写一个等效的工厂方法以及这样做的潜在好处.
谢谢,
?凯特琳
解决方法:
工厂方法很好,因为它们可以返回对不一定是该类实例的对象的引用.它可以返回该类,子类型,甚至是null,并且通常以他们想要的方法可以进行任何操作.因此,您可以将选择类型的逻辑移动到您自己的代码中.您可以在适当的位置返回现有实例,从而节省堆空间等.
另一个基本的伪示例是Integer.forValue(),它可以实现整数,因此不会无缘无故地重新创建相同的不可变对象.另请参阅Executors.newXxxThreadPool().
一个基本的例子:
public class Tester
{
private String name;
private int age;
// Parameterized constructor
private Tester(String myName, int myAge)
{
this.name = myName;
this.age = myAge;
}
public static Tester getTester(String mn, int ag){
if(age>0){return new Tester(mn, ag);}
else if(age>80){return new OldPersonThatExtendsTester(mn, ag);}
//we'd need a public or otherwise accessible constructor above. It's a subtype!
else {return null;} //yes, this is possible
}
}
内容总结
以上是互联网集市为您收集整理的java – 使用Factory方法的对象实例化全部内容,希望文章能够帮你解决java – 使用Factory方法的对象实例化所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。