WEB开发网
开发学院WEB开发Jsp 原创-Effective java学习笔记3:用私有构造函数强化... 阅读

原创-Effective java学习笔记3:用私有构造函数强化不可实例化能?

 2008-01-05 08:36:15 来源:WEB开发网   
核心提示:有时候我们会编一些只含有静态域和静态方法的类.比如把操作原始类型和数组类型的方法集中起来:java.lang.Math,java.util.Arrays..或者把操作在特定接口之上的对象的方法集中起来,比如java.util.Collections.这个时候,不要试图创建一个abstract 类来使之不可实例化,因为a

  有时候我们会编一些只含有静态域和静态方法的类.比如把操作原始类型和数组类型的方法集中起来:java.lang.Math,java.util.Arrays..或者把操作在特定接口之上的对象的方法集中起来,比如java.util.Collections.
这个时候,不要试图创建一个abstract 类来使之不可实例化,因为abstract类可以被继续,最终被实例化.也不要试图不给出构造函数,因为即使这个类没有构造函数jvm也会给出一个默认的构造函数.
所以,可以给出一个显示的私有构造函数,确保不可实例化.
Example:
// Noninstantiable utility class - page 12
public class UtilityClass {
// SupPRess default constrUCtor for noninstantiability
private UtilityClass() {
// This constructor will never be invoked
}
// ... // Remainder omitted
}

Tags:原创 Effective java

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接