有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

无法应用java构造函数和方法

我一直在写这段代码,不知道为什么总是出错 “类中的构造函数书…无法应用于给定类型; 必需:java。朗·斯林, 发现:没有参数, 原因:实际参数列表和正式参数列表的长度不同:“。 有什么想法吗?提前谢谢

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;
    }

}

共 (1) 个答案

  1. # 1 楼答案

    不能像这样声明Book的实例:

    Book book = new Book();
    

    因为你没有一个构造函数。到目前为止,只有一个构造函数在字符串参数中接受字符串参数:

    Book book = new Book("My Book Title");
    

    如果您还想使用空构造函数,以便必须使用setTitle()setter方法来设置标题,那么请将其添加到类中:

    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];
        }
    }
    

    此构造函数允许您可选地提供一个title参数。通过这种方式,您可以以任意一种方式进行声明(如果您愿意,还可以添加多个标题,并进行一些更改)