java - 编写一个名为 Child 的简单接口(interface)(其中没有任何内容),并使用它创建一个只能存储 Boy 和 Girl 实例的 ArrayList

标签 java list generics arraylist interface

我正在回答复习问题,但我有点不知道如何回答它。

问题是这样的:

假设我们有以下类定义大纲:

public abstract class Person { ... }

public class Man extends Person { ... }

public class Woman extends Person { ... } 

public class Boy extends Person { ... } 

public class Girl extends Peron { ... }

我。创建一个ArrayList,它可以存储Man/Woman/Boy/Girl<类的任何实例 使用上述类定义,但不允许 Animal 或任何其他类的实例。

ii.编写一个名为 Child 的简单接口(interface)(其中没有任何内容),并使用它创建一个可以存储 Boy 实例的 ArrayList仅限女孩(即不是男人女人)。

我认为第一个答案是下面的。

ArrayList <Person> list = new ArrayList<Person>();

但是对于问题的第二部分我不知道如何回答。我认为它与 Java 泛型有关。

最佳答案

创建接口(interface),只让 Boy 和 Girl 实现它,并使其成为 Child 列表。您只需更新 3 行。

关于java - 编写一个名为 Child 的简单接口(interface)(其中没有任何内容),并使用它创建一个只能存储 Boy 和 Girl 实例的 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56714057/

相关文章:

string - 如何将字符串列表转换为方案中的一个字符串?

list - 将矩阵转换为列向量列表

java - Eclipse 终止键盘快捷键

Javax 内容无法访问

java - Spring Boot 2 + OAuth2 : Configure Exchange of Auth Code for Token

c# - 有关如何链接、编译等以及它们如何组合在一起的书籍?

Java 创建列表问题 List<Type> myList = new ArrayList<Type>();

java - 从 SQL 查询方法返回泛型类型

java - 避免返回通配符类型

java - 我正在尝试迭代 Hashmap<LinkedList<String>, int[]>>。有没有比我正在做的更简单的方法?