通过参加这次的java夜未眠读书培训,这个对于系统的扩展是很有用处的。neString(...); 我想这个名字虽然有点垃圾,但要表达的意思确实异常的明确。
在一些第三方的库里面,这种情况更加突出。我许多时候不得不看看ApI文档,来区分我的那个int参数到底是使用三个参数的构造器,还是使用四个参数的构造器。因为他们太像了。
2 可以单例
这个就不用说了,你可以在方法里干你要做的任何事情,而new绝对会给你一个新的实例。
3 可以返回任何子类型。
这个对于系统的扩展是很有用处的。new 已经决定了你肯定要这个类,而静态方法却可以修改,不一定肯定返回你方法所在的类,可以在必要时替换为一个子类。
4 代码简便
这点我体会不深,呵呵
不过这个写法我确实经常用
List list = new ArrayList;
后面的那个ArrayList里面的 String就是一个例子吧。不过我倒是不是很在意这个,因为我很喜欢这样写了。
下面这个例子看上去确实不错。呵呵!
[java] view plain copypublic class Test extends Thread {
public static void main(String[] args) {
Test te = Test.newInstance;
}
public static Test newInstance {
return new Test;
}
}