1 問題
子類中如何繼承父類的方法,或者如何重寫方法。
2 方法
首先得在父類中創(chuàng)建一個方法,利用創(chuàng)建的方法的格式void+方法名(){},然后在子類中調(diào)用這個方法:直接輸入方法名,再按enter,便會出現(xiàn)super.方法名(),表示調(diào)用該方法。當(dāng)不想調(diào)用父類的方法時可直接刪除super的調(diào)用,然后在方法中重新寫。
例題:4、 請?jiān)O(shè)計(jì)2個類,分別是學(xué)生類Student,本科生類Undergraduate,,其中Student類是一個抽象類,它包含一些基本的學(xué)生信息,如姓名、類別(本科生還是研究生)、所學(xué)課程(這里假定為3門課,用一維數(shù)組表示)成績和成績等級等,而Undergraduate類是Student類的子類.
package lab02; public class Student { //屬性 String name; String type;//類別 int[] courseScores;//三門課的成績數(shù)組 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//該方法來自于父類,然后不適合子類(是直接寫函數(shù)名再enter回車直接得來的) void computeGrade() { // super.computeGrade();//super表示執(zhí)行父類方法 System.out.println("Undergraduate:compute"); Int avg=(this.courseScores[0]+this.courseScores[1]+this.courseScores[2])/3; if(avg>80){ this.grade="優(yōu)秀"; }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 結(jié)語
針對繼承父類的方法和重寫方法的問題,我們的重點(diǎn)是理解如何調(diào)用函數(shù)的,如何在子類中使用該方法,要使用的父類的方法名加enter即可,當(dāng)不想執(zhí)行父類方法去掉super,自己重寫方法即可。
-
編程語言
+關(guān)注
關(guān)注
10文章
1945瀏覽量
34740 -
Super
+關(guān)注
關(guān)注
0文章
14瀏覽量
8415 -
void
+關(guān)注
關(guān)注
0文章
23瀏覽量
9874
發(fā)布評論請先 登錄
相關(guān)推薦
評論