如何在 java 中的 class 的数组上调用方法?

How to call a method on a array of a class in java?

我是初学者,在 Java OOP 上做一些练习,所以这是我的问题。 我有一个 Book class 具有此属性:

private Author[] authors;

我需要一种方法 returns 只是那些作者的名字(name1,name2,..)。 Authors class 有一个 getName() 方法:

public String getName() {
        return name;
}

我尝试了以下代码,但它不起作用!

//Method in the Book class
public String getAuthorsNames(){
    return authors.getName();
}

我需要遍历数组还是有其他方法?

private Author[] authors; 是对象 Author

的数组

你需要添加索引然后获取名称,这里是一个例子:

class Author {

  private String name;

  public Author(String name) {
    this.name = name;
  }
  
  public String getName() {
    return this.name;
  }

在你的 class 书中:

  class Book {
    private Author[] authors;
    public Book(int authorsSize) {
      authors = new Author[authorsSize];
    }
    
    public void setAuthor(int index) {
      this.authors[index] = new Author("Author Name"):
    }

   public String getAuthorName(int index) {
      return this.authors[index].getName();
   }

   public String getAllAuthors() {
     String all = "";
     for (int i = 0; i < authors.length; i++) {
         all += authors[i].getName() + ", ";
     }
     
     return all;
   }

  }

添加作者后..使用 getAllAuthors

---更多--- 而不是 Author[] authors = new Authors[size]; 您可以使用 ArrayList<Author> authors = new ArrayList<>(); 那么你可以使用:

authors.add(new Author("Author name1"));
authors.add(new Author("Author name2"));
authors.add(new Author("Author name3"));
authors.add(new Author("Author name4"));
......