首页 > 解决方案 > 我想访问 Book 类中 Page 类的数据

问题描述

我想访问 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;
  }
}


public class Main {
  public static void main(String[] args) {

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

    Book b = new Book("harrypotter");
    b.pages = p;
  }
}


public class Page {
  private int pageNum;

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

  public int getPageNum() {
    return pageNum;
  }

标签: javagenerics

解决方案


创建公共 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.setPages(p);

或访问页面

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

推荐阅读