首页 > 解决方案 > 使用另一个类的数组时,如何从继承的类中获取特定属性?

问题描述

我是 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() + ".");
    }
}

标签: javaarraysinheritance

解决方案


根据我从您的问题中收集到的信息,我认为您可以通过将您的转换HumanStudent.

所以,在你的内部if

Student s = (Student) Menschen[i] ;

然后您可以使用引用访问Student与您对应的 ' 属性。那是你问的吗?Menschen[i]Student s


推荐阅读