1. 程式人生 > >淺析java--繼承

淺析java--繼承

clas lesson xtend 說明 進行 sch str 就是 重復

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--繼承