Java列表和类继承 List pers=new ArrayList(); 新增(新女性(“某物”); 新增(新女性(“某物”); 添加(新男性(“某物”); 添加(新男性(“某物”); 系统输出打印项次(pers);//打印所有内容

Java列表和类继承 List pers=new ArrayList(); 新增(新女性(“某物”); 新增(新女性(“某物”); 添加(新男性(“某物”); 添加(新男性(“某物”); 系统输出打印项次(pers);//打印所有内容,java,list,inheritance,arraylist,Java,List,Inheritance,Arraylist,妇女和男子的阶级扩展了人。在我将数据存储在列表中后,如何仅打印女性或男性?另外,我如何访问来自女性和男性的属性 使用两个列表可以很好地工作,但是当我只需要使用一个列表时,我遇到了麻烦。使用instanceof关键字 List <Person> pers = new ArrayList<Person>(); pers.add(new Women("something1")); pers.add(new Women("something2")); pers.add(new

妇女和男子的阶级扩展了人。在我将数据存储在列表中后,如何仅打印女性或男性?另外,我如何访问来自女性和男性的属性


使用两个列表可以很好地工作,但是当我只需要使用一个列表时,我遇到了麻烦。

使用
instanceof
关键字

List <Person> pers = new ArrayList<Person>();

pers.add(new Women("something1"));
pers.add(new Women("something2"));

pers.add(new Men("something1"));
pers.add(new Men("something2"));

System.out.println(pers); // prints everything

一旦知道此人是什么类型的对象,就可以调用该对象上的任何公共变量/getter/setter。

使用
instanceof
关键字

List <Person> pers = new ArrayList<Person>();

pers.add(new Women("something1"));
pers.add(new Women("something2"));

pers.add(new Men("something1"));
pers.add(new Men("something2"));

System.out.println(pers); // prints everything

一旦知道此人是什么类型的对象,就可以调用该对象上的任何公共变量/getter/setter。

对象。getClass()将返回对象的类型。

对象。getClass()将返回对象的类型。

您可以尝试使用
instanceof
运算符,但这通常意味着您的设计有缺陷。为什么只想创建一个对等点列表?使用两个单独列表的解决方案有什么问题?如果你需要区分男性和女性,你不应该将他们存储在同一个列表中。你可以尝试使用
instanceof
操作符,但这通常意味着你的设计有缺陷。为什么只想创建一个对等点列表?使用两个单独列表的解决方案有什么问题?好吧,如果你需要区分男人和女人,你不应该将他们存储在同一个列表中。谢谢,这很有帮助。:)谢谢,这很有帮助。:)