淺析java--繼承

來源:互聯網
上載者:User

標籤:ring   沒有   new   淺析   ext   sch   如何   studio   system   

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.