无限递归错误

Infinite recursion error

我有一个父级 class,其中包含以下方法:

public String getSubjects() {
    return this.getSubjects();    
} 

而在继承这个方法的subclass中是这样的:

@Override
    public String getSubjects(){
        return(" Computer Student" + "[" + studCountObj + "] " + name + ": "); 
    }

但我收到一条错误消息:

The method getSubjects may recurse if not overridden in subclass.

这是什么意思,我该如何解决这个问题?

父级的 class' 实现只是调用自身,并且如错误说明的那样,将无休止地继续调用。父 class 应该 return 一些默认值(例如 null),或者更好的是,如果没有智能方法可以实现该方法,则保留此方法 abstract

this.getSubjects() 引用当前方法。如果要调用父class的方法,用户关键字"super":

public String getSubjects() {
    return super.getSubjects();    
}