首页 > 解决方案 > 如何使用另一个类(构造函数)的构造函数打印对象(java)

问题描述

我有两个类(“Startup.java”和“Book.java”)。我的目标是打印“Book.java”中的所有对象。为了调用该view()方法,我初始化了一个新的“书本对象”。问题是:如果我调用“book.view”,它会打印'0nullnull0'(我知道,这是因为构造函数),我不知道如何修复它。在这里你可以看到代码:

package array;

import java.util.*;

public class Startup{

    public static void main(String[] args) {
        Book book = new Book(0, null, null, 0);
        book.view();
    }



package array;

public class Book {

    private int number;
    private String title;
    private String language;
    private int price;

    public Book(int number, String title, String language, int price) {
        this.number = number;
        this.title = title;
        this.language = language;
        this.price = price;
    }

    public void add() {
        Book b1 = new Book(1, "title", "de", 2);
    }

    public void view() {
        System.out.println(number + title + language + price);
    }
}

标签: javaobjectmethodsprintingconstructor

解决方案


您已使用初始化对象

Book book = new Book(0, null, null, 0);

因此,输出就是这样。

我认为您希望打印 add 方法中的值(不确定该方法的用途?)。因此,您需要使用这些值调用构造函数。

Book book = new Book(1, "title", "de", 2);
book.view();

推荐阅读