java - 在一个类中的另一个类中使用 java 构造函数参数

标签 java

我在 .Author 中有这个构造

package author;

public class Author {
    private String name;
    private String email;
    private char gender;

    public Author (String name, String email, char gender) {
        this.name = name;
        this.email = email;
        this.gender = gender;
    }
    public String getName () {
        return name;
    }
    public char gender () {
        return gender;
    }
    public String getEmail () {
        return email;
    }
    public void SetEmail (String userEmail) {
        email = userEmail; 
    }
    public String toString () {
        return "Author info: " + " [name: " +name + ", " + " gender: " + gender +", " + " email " + email + "]";
    }

}

我有另一个名为 .Book 的类,我想在 .Book 内的另一个构造中使用 Author 构造中的“name”变量,如下所示:

public class Book {
    private String bookName;
    private String author;
    private double price;
    private int qty;

    public Book (String bookName, Author name, double price) {
        this.bookName = bookName;
        // here I'm getting an error saying ";" required
        this.author = Author name;
        this.price = price;
    }

}

我收到一个错误(如第二个代码所示),很明显我做得不对,也不知道如何做。有什么帮助吗?

最佳答案

public class Book {
    private String bookName;
    private Author author; //it should be Author, not String
    private double price;
    private int qty;

    public Book (String bookName, Author name, double price) {
        this.bookName = bookName;
        this.author = name; //here was ur mistake
        this.price = price;
    }

}

试试这个代码。假设,在编写这本书时,您确实喜欢

Book book = new Book("name", new Author("name", "name@mail", m), 22.0);

关于java - 在一个类中的另一个类中使用 java 构造函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36531613/

相关文章:

java - 使用 Spring 以声明方式缓存 bean 方法的返回值

java - 集群模式下的 Redis Pfcount

java - 将对象从 servlet 传递到另一个 servlet

java - 在乘法 if 语句中仅打印一条错误消息

java - 如何将 Mat 对象从 java 类传递到 jni cpp。

java - Sonarqube 中不兼容的堆大小错误

java - 使用批处理查找java PID

java - JUnit @Before 和@After 在每次测试之前和之后执行

java - 等待特定线程的调用

java - 使用 Lucene 的 StandardTokenizer 时保留标点符号