Java getClassHierarchy()方法
我有一个超类Person,它包含以下方法:Java getClassHierarchy()方法,java,class,inheritance,methods,Java,Class,Inheritance,Methods,我有一个超类Person,它包含以下方法: public String getClasHierarchy() { return "Person"; } //getClassHierarchy 我不能改变这门课 我还有10个子类person,我需要向其中添加一个类似的方法,以便返回一个字符串,该字符串由类的名称组成,后跟一个“>”,然后后跟由getClassHierarchy()从超类返回的字符串。我不能指望知道它们上面的类层次结构是什么。不知何故,我需要从超类调用该方法。有人有什么想法吗
public String getClasHierarchy()
{
return "Person";
} //getClassHierarchy
我不能改变这门课
我还有10个子类person,我需要向其中添加一个类似的方法,以便返回一个字符串,该字符串由类的名称组成,后跟一个“>”,然后后跟由getClassHierarchy()从超类返回的字符串。我不能指望知道它们上面的类层次结构是什么。不知何故,我需要从超类调用该方法。有人有什么想法吗
非常感谢您正在寻找“超级”关键字
return super.getClassHierarchy() + ">MyClassName"
无论如何,这最好是通过反射来完成,而不是重新发明轮子。这是一种方法,还有很多其他方法
public class TestClass extends TestClassSuper {
public String getClasHierarchy() {
System.out.println(super.getClasHierarchy());
return "Person";
} //getClassHierarchy
public static void main(String args[]) {
try {
TestClass tc = new TestClass();
System.out.println(tc.getClasHierarchy());
} catch (Exception e) {
}
}
}
public class TestClassSuper {
public String getClasHierarchy() {
return "Super Person";
} //getClassHierarchy
}
看一看。你说“我需要添加一个类似的方法”,你需要覆盖相同的方法还是这将是一个新方法?我需要覆盖相同的方法我已经将它添加到我的子类中,但是当我编译和运行程序时,它仍然显示“person”,而不是“StudentWorker>person”。