Java - 多态性问题

cc0*_*cc0 1 java arrays polymorphism arraylist

我有一本书课,然后是一本小说和一本科学书类,它扩展了书类.

我使用书类制作了一个ArrayList,然后将小说和科学书籍插入其中.现在我试图遍历ArrayList来计算那里有多少小说.我该怎么说?

很想看到一些这样的例子!我已经有一段时间了.

fro*_*die 5

使用instanceof.

例如

    int numberOfNovels = 0;
    for(int i = 0; i < arrayOfBooks.length; i++){
       if(arrayOfBooks[i] instanceof Novel){
          numberOfNovels++;
       }
    }
Run Code Online (Sandbox Code Playgroud)

或者,使用foreach:

 int numberOfNovels = 0;
 for(Book book: arrayOfBooks){
    if(books instanceof Novel){
       numberOfNovels++;
    }
 }
Run Code Online (Sandbox Code Playgroud)