Java中调用Book类的getAuthor()方法无输出,求技术排查帮助
问题分析与解决方案
嘿,我帮你找到问题的根源啦!你运行代码后没有输出,核心原因是:你调用的getAuthor()方法只是返回作者的字符串,但你没有把这个返回值输出到控制台。Java不会自动打印方法的返回值,必须显式执行输出操作才行。
先给你补全并修正完整的代码:
首先是完整的Book类(你原来的代码被截断了,我帮你补全了合理的实现):
class Book { private String title; private String author; private int publishedYear; public Book(String title, String author, int year) { this.title = title; this.author = author; this.publishedYear = year; // 补全年份的赋值逻辑 } // 标准的getter方法:返回作者字符串 public String getAuthor() { return this.author; } }
然后修改BookTester类,把getAuthor()的返回值打印出来:
public class BookTester { public static void main(String[] args) { Book myBook = new Book("My life", "Sam Daily", 2001); // 显式打印getAuthor()的返回值 System.out.println(myBook.getAuthor()); // 也可以先把返回值存到变量里再打印,效果一样 // String bookAuthor = myBook.getAuthor(); // System.out.println(bookAuthor); } }
另外还有一种思路:如果希望调用getAuthor()时直接输出内容,可以把getAuthor()改成void类型,在方法内部添加打印逻辑:
// 修改后的Book类中的getAuthor方法 public void getAuthor() { System.out.println(this.author); }
这种情况下,你原来的BookTester代码不需要修改,直接调用myBook.getAuthor()就会输出作者信息了。
内容的提问来源于stack exchange,提问作者Popilofu
相关产品推荐
相关产品推荐

