gpt4 book ai didi

Java 列表和类继承

转载 作者:行者123 更新时间:2023-12-01 18:10:24 25 4
gpt4 key购买 nike

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

Women 类和 Men 类扩展了 Person。将数据存储在列表中后,如何仅打印女性或仅打印男性?另外,我如何访问女性和男性的属性?

使用 2 个列表工作正常,但当我只需要使用一个列表时我遇到了麻烦。

最佳答案

使用instanceof关键字。

for(Person person : pers){
if(person instanceof Women){
System.out.println("I am a woman");
int height = person.getHeight();
}
else if(person instanceof Men){
System.out.println("I am a Man");
int weight = person.getWeight();
}
}

一旦您知道该人是什么类型的对象,您就可以调用该对象上的任何公共(public)变量/getters/setters。

关于Java 列表和类继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33456135/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com