如何防止在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.");
}