Effective Java 第一条:考虑用静态工厂方法代替构造器
来源:互联网 发布:显示器测试软件 编辑:程序博客网 时间:2024/05/20 00:15
平时大家常用的String类源码就是典型的静态工厂方法:
用静态工厂方法写:
/** * Returns the string representation of the given double. */public static String valueOf(double value) { return Double.toString(value);}/** * Returns the string representation of the given float. */public static String valueOf(float value) { return Float.toString(value);}/** * Returns the string representation of the given int. */public static String valueOf(int value) { return Integer.toString(value);}/** * Returns the string representation of the given long. */public static String valueOf(long value) { return Long.toString(value);}
再如单例中的getInstance()方法。
静态工厂方法最大的优点是不用实例化类。
我们平时写类一般是这样写的:
定义一个人类,获取姓名年龄。
Man man = new Man(18,"小明");
man.getName();
man.getAge();
public class Man { private String name; private int age; public Man(int age, String name) { this.age = age; this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
用静态工厂方法写:
public class Man { private String name; private int age; private final static Man man = new Man("小明",18); private final static Man woman = new Man("小红",19); private Man(String name, int age){ this.name = name; this.age = age; } public static Man getMan(){ return man; } public static Man getWoman(){ return woman; } public String getName(){ return name; } public int getAge(){ return age; }}
获取姓名和年龄就可以这样啦:
Man.getMan().getName()
Man.getWoman().getAge()
0 0
- Effective java读书札记第一条之 考虑用静态工厂方法代替构造器
- Effective Java 第一条:考虑用静态工厂方法代替构造器
- Effective java第一条:考虑用静态工厂方法代替构造器
- 第一条:考虑用静态工厂方法代替构造器
- 第一条:考虑用静态工厂方法代替构造器
- [Effective Java]考虑用静态工厂方法代替构造器
- 《Effective Java》-考虑用静态工厂方法代替构造器
- 《Effective java》读书记录-第1条-考虑用静态工厂方法代替构造器
- Effective Java 中文版之学习 第1条:考虑用静态工厂方法代替构造器
- 第一条:考虑用静态工厂方法代替构造器-----静态工厂方法讲解
- Effective Java第一条:考虑用静态工厂方法替代构造器
- Effective Java 第一条:考虑用静态工厂方法替代构造器
- 《Effective Java》: 考虑用静态工厂方法代替构造函数
- [Effective Java] 第1条 考虑用静态工厂方法代替构造函数
- 创建和销毁对象 第一条:考虑用静态工厂方法代替构造器
- Effective Java (1) - 考虑用静态工厂方法代替构造器
- Effective Java记录1:考虑用静态工厂方法代替构造器
- Effective JAVA NO1考虑用静态工厂方法代替构造器
- 写在博客之路开始之前
- 用java编写一个菱形与空心菱形
- C/C++防止内存泄漏的几种措施
- 微观SOA:服务设计原则及其实践方式
- J2EE专题之经典书籍篇
- Effective Java 第一条:考虑用静态工厂方法代替构造器
- arm学习笔记-时钟(s3c2451)
- hihoCoder(1)——hiho密码
- Newtonsoft.Json 自定义序列化特性
- java中线程队列BlockingQueue的用法
- LintCode_9_Fizz Buzz 问题
- 应用集成方案概述
- CCF认证-ISBN号码
- 数据结构 线性表