2017-04-25 157 views
0

我无法理解这一点。 。一类的构造函数

“最后,修改WordTransformerSentenceTransformer,所以你不能创建类的实例,请记住,静态方法和变量,你并不需要做一个类的实例(提示:一个构造函数的类是什么允许创建该类的实例... new WordTransformer(),什么关键字可以添加到该构造函数的定义,将防止该构造从任何地方被调用,但在类本身?)“

它说所以你不能创建这个类的实例,但如果你让这个类是私人的,它b会产生错误。说唯一的选择是公共静态或最终的。

回答

1

使构造私有: private WordTransformer(){}

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

使得构造private将使这个类的其他方法来创建类的实例,但没有一个可以创建一个从外面的情况。在实践中使用此示例的示例是singleton patternbuilder pattern

3

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

私人构造函数阻止类的调用者显式实例化。

这里有一个例子:

public class WordTransformer { 
    private WordTransformer() { 
    } 
} 

N.B:因为它听起来很像一个任务,我希望你会读到链接的文档和理解为什么以及何时使用它!

0

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