一个类的构造函数

时间:2017-04-25 18:28:05

标签: java constructor

我无法理解这一点。

  

“最后,修改WordTransformerSentenceTransformer,这样就无法创建类的实例。请记住,使用静态方法和变量,您不需要创建一个实例class。(提示:类的构造函数允许创建该类的实例... new WordTransformer(),您可以将哪个关键字添加到该构造函数的定义中,以防止在任何地方调用该构造但是在课堂上呢?)“

它说你不能创建这个类的实例,但是如果你把这个类设为私有它就会变成错误。说唯一的选择是public static或final。

4 个答案:

答案 0 :(得分:3)

你应该将构造函数限定为私有,而不是类。 cf this document

  

私有构造函数阻止类被其调用者显式实例化。

这是一个例子:

public class WordTransformer {
    private WordTransformer() {
    }
}

N.B。:因为它听起来很像作业,我希望你能阅读链接的文档并理解为什么以及何时使用它!

答案 1 :(得分:1)

使构造函数成为私有的: private WordTransformer(){}

答案 2 :(得分:0)

private WordTransformer(...) {
    ...
}

使构造函数private允许此类的其他方法创建类的实例,但没有人可以从外部创建实例。在实践中使用它的示例是singleton patternbuilder pattern

答案 3 :(得分:0)

标记为final的类上的私有构造函数和静态方法。