java - 使用另一个类的数组时,如何从继承的类中获取特定属性?
问题描述
我是 Java 编程新手,遇到了一个小问题。
我写了两个类,第一个命名Human
和第二个调用Student
扩展Human
所以,简而言之,我创建了一个具有类型的数组,Human
现在我想输出一个特定的属性,Student
并且我想检查输入的数组的值是否是 a Student
。问题是数组类型是Human
,我不能要求独占Student
属性。
提前感谢您的回答。
编码:
for (int i = 0; i < 4; i++) {
if (Menschen[i] instanceof Student) {
System.out.println("Name: " + Menschen[i].getName() + ", Geschlecht"
+ Menschen[i].getGeschlecht() + ", Matrikelnummer: "
+ ", Typ: " + Menschen[i].getTyp());
} else {
System.out.println("Name; " + Menschen[i].getName() + ", Geschlecht"
+ Menschen[i].getGeschlecht()+", Typ: "+Menschen[i].getTyp() + ".");
}
}
解决方案
根据我从您的问题中收集到的信息,我认为您可以通过将您的转换Human
为Student
.
所以,在你的内部if
:
Student s = (Student) Menschen[i] ;
然后您可以使用引用访问Student
与您对应的 ' 属性。那是你问的吗?Menschen[i]
Student s
推荐阅读
- python - 如何通过计算基于两列创建数据框?
- python - 如何使用 map 函数根据列值从多个列中获取值?
- azure-devops - 在 Azure DevOps 的构建中找不到“SqlConnection”
- parse-platform - 从 AT 命令发送 HTTP Post 到 Parse 平台
- react-native - 渲染方法中的console.log显示state = true,但jsx显示false
- python-3.x - 如何在熊猫的新列中添加列表?
- python - 将正则表达式与 html 标签相结合
- haskell - 如何使用 Haskell 超时函数(在 System.Timeout 中)来停止失控计算?
- .net - LINQ - 分组依据和总和
- jpa - 如何从子查询中获取结果作为查询中的参数