1 问题
子类中如何继承父类的方法,或者如何重写方法。
2 方法
首先得在父类中创建一个方法,利用创建的方法的格式void+方法名(){},然后在子类中调用这个方法:直接输入方法名,再按enter,便会出现super.方法名(),表示调用该方法。当不想调用父类的方法时可直接删除super的调用,然后在方法中重新写。
例题:4、 请设计2个类,分别是学生类Student,本科生类Undergraduate,,其中Student类是一个抽象类,它包含一些基本的学生信息,如姓名、类别(本科生还是研究生)、所学课程(这里假定为3门课,用一维数组表示)成绩和成绩等级等,而Undergraduate类是Student类的子类.
package lab02; public class Student { //属性 String name; String type;//类别 int[] courseScores;//三门课的成绩数组 String grade;//平均成绩等级 Student(){} Student(String name,String type,int[] courseScores){ this.name=name; this.type=type; this.courseScores=courseScores; } void computeGrade(){ System.out.println("Student:compute"); } package lab02; public class Undergraduate extends Student{ Undergraduate(){} Undergraduate(String name,String type,int[] courseScores){ super(name,type,courseScores); } @Override//该方法来自于父类,然后不适合子类(是直接写函数名再enter回车直接得来的) void computeGrade() { // super.computeGrade();//super表示执行父类方法 System.out.println("Undergraduate:compute"); Int avg=(this.courseScores[0]+this.courseScores[1]+this.courseScores[2])/3; if(avg>80){ this.grade="优秀"; }else if(avg>60){ this.grade="良好"; }else if(avg<60){ this.grade="差"; } } } package lab02; public class Test04 { public static void main(String[] args) { Undergraduate zhang=new Undergraduate("张三","本科生",new int[]{90,95,100}); zhang.computeGrade(); System.out.println("等级:"+zhang.grade); |
3 结语
针对继承父类的方法和重写方法的问题,我们的重点是理解如何调用函数的,如何在子类中使用该方法,要使用的父类的方法名加enter即可,当不想执行父类方法去掉super,自己重写方法即可。