【发布时间】:2018-11-17 01:28:20
【问题描述】:
我有两个类(“Startup.java”和“Book.java”)。
我的目标是打印“Book.java”中的所有对象。
为了调用view() 方法,我初始化了一个新的'book-object'。问题是:
如果我调用“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);
}
}
【问题讨论】:
-
你希望它打印什么?
-
看看你的
add方法和你的评论“我知道,这是因为构造函数”让我觉得你还不知道 Java 是如何工作的.我强烈建议您阅读教程。你的代码是顺便说一句。完全按照预期去做。您将值初始化为0、null、null和0,然后就可以打印出来了。 -
如果理解正确,您希望
Startup打印为Book类创建的所有对象(实例)。是吗? -
我没有看到这里的问题。代码正在做它应该做的事情:)
-
@PaulBenn 它正在做它所写的事情,这并不意味着它正在做它应该做的事情
标签: java object methods printing constructor