Java 我想访问Book类中Page类的数据

Java 我想访问Book类中Page类的数据,java,generics,Java,Generics,我想访问Book类中Page类的数据。例如b.pages.getPageNum 我确实喜欢b.pages=p; 但它不起作用。我无法访问Page类方法。 我如何访问? 多谢各位 public class Book<Page> { private String name; ArrayList<Page> pages = new ArrayList<Page>(); public Book(String name) { this.name

我想访问Book类中Page类的数据。例如b.pages.getPageNum 我确实喜欢b.pages=p; 但它不起作用。我无法访问Page类方法。 我如何访问? 多谢各位

public class Book<Page> {
  private String name;

  ArrayList<Page> pages = new ArrayList<Page>();

  public Book(String name) {
    this.name = name;
  }

  public String getBook() {
    return name;
  }
}

创建公共getter和setter

public class Book {
  private String name;

  ArrayList<Page> pages = new ArrayList<Page>();

  public Book(String name) {
    this.name = name;
  }

  public String getBook() {
    return name;
  }

  public List<Page> getPages() {
    return this.pages;
  }

  public void setPages(List<Page> pages) {
    this.pages = pages;
  }
}
或者访问一个页面

b.getPages().get(0).getPageNum();

你能分享不起作用的代码吗?谢谢你的评论。我分享我所有的代码。谢谢你的评论。我需要创建公共的getter和setter。但是我不能像b.getPages.get0.getPageNum那样访问;你有什么错误?更具体一点,我犯了这个错误。错误:19,47 java:找不到symbol symbol:方法getPageNum位置:class java.lang.ObjectRemove from Book类。此示例中不需要它。非常感谢您的回答。它起作用了。
public class Book {
  private String name;

  ArrayList<Page> pages = new ArrayList<Page>();

  public Book(String name) {
    this.name = name;
  }

  public String getBook() {
    return name;
  }

  public List<Page> getPages() {
    return this.pages;
  }

  public void setPages(List<Page> pages) {
    this.pages = pages;
  }
}
b.setPages(p);
b.getPages().get(0).getPageNum();
public class Book<Page> implements Iterable<Page> {

  private String name;

  ArrayList<Page> pages = new ArrayList<>();

  public Book(String name) {
    this.name = name;
  }

  public String getBook() {
    return name;
  }

  public ArrayList<Page> getPages() {
    return this.pages;
  }

  public void setPages(ArrayList<Page> pages) {
    this.pages = pages;
  }

  @Override
  public Iterator<Page> iterator() {
    BookIterator bookIterator = new BookIterator<Page>();
    bookIterator.pages = this.pages;
    return bookIterator;
  }
}
public class Main {
  public static void main(String[] args) {

    ArrayList<Page> p = new ArrayList<>();
    Page p1 = new Page(22, true);
    Page p2 = new Page(33, false);
    Page p3 = new Page(44, true);
    Page p4 = new Page(55, false);
    p.add(p1);
    p.add(p2);
    p.add(p3);
    p.add(p4);

    Book b = new Book("harrypotter", BookCategory.NOVEL);
    b.setPages(p);
    b.getPages().get(0).getPageNum();

  }
}
private int pageNum;

  public Page(int pageNum) {
    this.pageNumber = pageNum;
  }

  public int getPageNumber() {
    return pageNum;
  }
}