淺析java--繼承
1、為什麽要使用繼承
減少代碼的冗余,實現代碼的復用。下面舉例說明:
java老師類:
public class DotNetTeacher {
private String name; // 老師姓名
private String school; // 所在學院
public DotNetTeacher(String myName, String mySchool) {
name = myName;
school = mySchool;
}
public void giveLession(){
System.out.println("啟動 Visual Studio 2005");
System.out.println("知識點講解");
System.out.println("總結提問");
}
public void introduction() {
System.out.println("大家好!我是" + school + "的" + name + ".");
}
}
.net老師類:
public class JavaTeacher {
private String name; // 老師姓名
private String school; // 所在學院
public JavaTeacher(String myName, String mySchool) {
name = myName;
school = mySchool;
}
public void giveLession(){
System.out.println("啟動 Eclipse");
System.out.println("知識點講解");
System.out.println("總結提問");
}
public void introduction() {
System.out.println("大家好!我是" + school + "的" + name + ".");
}
}
從以上兩段代碼可以看出有很多代碼都是重復,那我們可不可以想到一個方法實現代碼共享呢?那就是今天所講的繼承。
2、繼承的含義
含義:繼承就是把對象的一個公共屬性和方法把他提取出來,把他們放到一個類裏面,我們把這個類稱為父類。
從以上提出可得:
public class Teacher {
private String name; // 老師姓名
private String school; // 所在學院
public Teacher(String myName,String mySchool) {
name = myName;
school = mySchool;
}
public void giveLesson(){
System.out.println("知識點講解");
System.out.println("總結提問");
}
public void introduction() {
System.out.println("大家好!我是“
+ school + "的" + name + "。");
}
}
那我們如何訪問這些屬性和方法呢?這裏我們就要用到繼承了。
3、繼承的實現
其語法格式如下:
public class JavaTeacher extends Teacher { //extends是關鍵字,JavaTeacher 為子類,Teacher為父類
//其余代碼省略
}
java老師類實現:
public class JavaTeacher extends Teacher {
public void giveLesson(){
System.out.println("啟動Eclipse");
super.giveLesson();
}
}
補充知識:
代碼重寫:當父類的方法不能充分滿足子類的需求,需要對父類分方法進行重寫。這裏的java老師類就對老師類的public void giveLesson(){}進行了重新。
註意:子類和父類的方法具有相同的名稱、參數列表、返回類型 。只是方法體不同。
4、具體使用過程:
public class test{
public static void main(String[] args) {
JavaTeacher java=new JavaTeacher("張三",“計算機學院”);
System.out.println(java.introduction());
}
}
輸出:大家好!我是計算機學院的張三。
由此看出:
java老師類中並沒有實現introduction(),而是調用了老師的introduction()方法。
只是淺顯理解,還請指教。
淺析java--繼承