正在处理此代码,却不知道为什么总是出现错误 “类中的构造方法……不能应用于给定的类型; 必需:java.lang.String, 找到:没有参数, 原因:实际参数和形式参数列表的长度不同:”。 有任何想法吗?预先感谢。
public class Book {
private String title;
public Book(String title) {
this.title = title;
}
public String getTitle(){
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
答案 0 :(得分:0)
您不能像这样声明Book
的实例:
Book book = new Book();
因为您没有它的构造函数。到目前为止,您只有一个在字符串参数中接受String参数的构造函数:
Book book = new Book("My Book Title");
如果您还想使用一个空的构造函数,以便必须使用setTitle()
setter方法来设置Title,则将其添加到您的类中:
class Book {
private String title;
// Empty Constructor
public Book() {
}
// Overloaded Constructor which accepts a
// Title string argument.
public Book(String title) {
this.title = title;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
您也可以只修改现有的构造函数,如下所示:
public Book(String... optionalTitle) {
if (optionalTitle.length > 0) {
this.title = optionalTitle[0];
}
}
此构造函数允许您可选地提供标题参数。这样,您可以以任何一种方式进行声明(或者,如果愿意,还可以添加多个标题,但还要进行一些更改)。