如何使用另一个类(构造函数)的构造函数打印对象(java)

时间:2018-06-07 08:07:32

标签: java object methods printing constructor

我有两个班级(" Startup.java"和" Book.java")。 我的目标是打印来自" Book.java"的所有对象。 要调用view()方法,我初始化了一个新的书籍对象'。问题是: 如果我打电话给#34; 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);
    }
}

2 个答案:

答案 0 :(得分:0)

您已使用

初始化了对象
Book book = new Book(0, null, null, 0);

因此,输出就是这样。

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

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

答案 1 :(得分:0)

您可以通过将对象存储在数组中然后遍历数组并为数组的每个Object调用list函数来打印所有Book对象

Book[] bookArray=new book[n];

将对象添加到此数组

现在遍历数组你可以打印所有对象

for(int i=0;i<n;i++) {
    bookArray[i].view();
}