如何防止在Java中使用默认构造函数?

在我的评估中说:

"We don't want the user to use the default constructor since the user has to specify the HashCode, and maximum load factor"


我以为这可以解决问题,但显然不行(字典是用于引发异常的类):

public boolean HashDictionary() throws DictionaryException {}


DictionaryException类:

public class DictionaryException extends Throwable {

}


测试以确保在使用默认构造函数(由讲师提供)时引发异常:

try
{
    HashDictionary h = new HashDictionary();
    System.out.println("***Test 1 failed");

}
catch (DictionaryException e) {
        System.out.println("   Test 1 succeeded");
}


我只是想知道我该怎么做,因为我对这样做的方法并不熟悉。谢谢。

最佳答案

如果不想调用默认值,则可以将其声明为私有。

要回答您的评论,您可以抛出一个例外-

public HashDictionary() throws DictionaryException {
    throw new DictionaryException("Default constructor is not allowed.");
}

09-07 09:06