从父类中存储/获取子女

时间:2015-11-11 17:50:29

标签: java arraylist

我有2个Classes,Book和Journal,它们都扩展了Reference类。 我最初将它们存储到单独的ArrayLists中,但现在需要将它们全部存储到Reference ArrayList中。

我使用原始的2个arraylists来存储用户引用,然后当他们搜索它时,它将搜索两个数组以找到它。

我的问题是如何使用书籍和期刊课程中的功能?或者被覆盖的函数。

1 个答案:

答案 0 :(得分:0)

在对align进行迭代时,您可以查看它是List<Reference>还是Book,然后调用特定于JournalBook的方法}:

Journal

如果您从for (Reference ref : list) { if (ref instanceof Book) { ((Book) ref).bookMethod(); } else if (ref instanceof Journal) { ((Journal) ref).journalMethod(); } } 调用可能会或可能不会覆盖的方法,则无需使用instanceof或投放到Book/Journal

Reference

如果for (Reference ref : list) { ref.doSomething(); } Book都覆盖Journal,那么它将执行doSomething()具体实施,否则将使用Book/Journal实施。