從頭認識java-6.2 繼承(Generalization)(1)

來源:互聯網
上載者:User

從頭認識java-6.2 繼承(Generalization)(1)

這一章節我們來聊聊繼承(Generalization)。

1.概念

繼承是從已有的類中派生出新的類,新的類能吸收已有類的資料屬性和行為,並能擴充新的能力。

 

2.特點

子類繼承父類public和protected的屬性域與方法,但不繼承private的屬性域和方法。

當子類基礎父類的方法時,如果需要,可以覆蓋(@override),重新實現。

下面是一個例子

package com.ray.testobject;public class Test {public static void main(String[] args) {}}class Father {private int id;protected String name;public int sex;private void methodA() {}protected void methodB() {}public void methodC() {}public Father() {System.out.println(create father);}}class Sub extends Father {@Overrideprotected void methodB() {// TODO Auto-generated method stubsuper.methodB();}@Overridepublic void methodC() {// TODO Auto-generated method stubsuper.methodC();}public Sub() {System.out.println(create Sub);// System.out.println(id);//報錯System.out.println(name);System.out.println(sex);}}

 

3.跟父類的關係

我們修改上面的代碼來解釋,is-a 是一個和is-like-a 像一個

package com.ray.testobject;public class Test {public static void main(String[] args) {}}class Father {private int id;protected String name;public int sex;private void methodA() {}protected void methodB() {}public void methodC() {}public Father() {System.out.println(create father);}}class Sub1 extends Father {public Sub1() {System.out.println(create Sub);// System.out.println(id);//報錯System.out.println(name);System.out.println(sex);}}class Sub2 extends Father {private void say() {}public Sub2() {System.out.println(create Sub);// System.out.println(id);//報錯System.out.println(name);System.out.println(sex);}}


我們來看一下上面的代碼,sub1是直接繼承father,而且沒有其他的不同的方法,因此sub1是father的子類,是is-a關係;

而sub2,除了繼承father,還多了一個say 的方法,因此它跟father不完全相同,因此,它雖然是father的子類,但它們直接的關係是is-like-a的關係。

 

總結:我們這一章節主要討論了繼承的概念、特性以及子類與父類之間的關係。

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.