如何在 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"));
......
我是初学者,在 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"));
......