微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以使子类方法/变量通过父超级类运行? Java

如何解决是否可以使子类方法/变量通过父超级类运行? Java

我正在做一个作业,该作业需要在Super类中包含许多私有变量和 String 等级,以防止其他子类中的代码重复。另外,我正在使用 Double 来计算标记,是否可以将其引入?

//Parent Class
public String Grading(double TotalG) {
    if (TotalG >= 80 ) {
        Grade = "HD";
    }
    if (TotalG >= 70 && TotalG < 80) {
        Grade = "D";
    }
    if (TotalG >= 60 && TotalG < 70) {
        Grade = "C";
    }
    if(TotalG >= 50 && TotalG < 60) {
        Grade = "P";
    }
    if(TotalG < 49) {
        Grade = "N";
    }
    return Grade;
}

接受输入并进行计算,贯穿子类。

//Child Class
public double ResearchMarks() {
    ROverall = 70; //Changed this to 70 for the run..
    return ROverall;
}
public String RGrading() {
    double TotalG = ResearchMarks();
    super.Grading();
    return Grade;
}

我正在尝试运行该程序,但该程序仅显示null ..甚至在ROverall处显示70。.

public class Tester{
    public static void main(String[] args){
    Student test = new Student();
    ResearchStudent test2 = new ResearchStudent();
    test2.ResearchMarks();
    test2.RGrading();
    System.out.println(test2.RGrading());
    }
}

解决方法

public String RGrading() {
  double TotalG = ResearchMarks();
  // Grade is already being returned by the method
  String finalGrade = super.Grading();
  return finalGrade;
  // or just return super.Grading();
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。