成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Java基礎(chǔ)(了解繼承)

MageekChiu / 2484人閱讀

摘要:上學(xué)學(xué)的完全沒(méi)印象,基礎(chǔ)爛的不行,最近項(xiàng)目主要是改,有時(shí)間就看了一下這本書(shū)補(bǔ)一下基礎(chǔ)在寫(xiě)項(xiàng)目時(shí),老用到繼承,但是對(duì)其了解不深,會(huì)用但是不理解概念繼承是面向?qū)ο缶幊碳夹g(shù)的一塊基石,因?yàn)樗试S創(chuàng)建分等級(jí)層次的類。

上學(xué)學(xué)的完全沒(méi)印象,Java基礎(chǔ)爛的不行,最近項(xiàng)目主要是改bug,有時(shí)間就看了一下Head First Java這本書(shū)補(bǔ)一下基礎(chǔ)

在寫(xiě)項(xiàng)目時(shí),老用到Java繼承,但是對(duì)其了解不深,會(huì)用但是不理解

概念

繼承是java面向?qū)ο缶幊碳夹g(shù)的一塊基石,因?yàn)樗试S創(chuàng)建分等級(jí)層次的類。

繼承就是子類繼承父類的特征和行為,使得子類對(duì)象(實(shí)例)具有父類的實(shí)例域和方法,或子類從父類繼承方法,使得子類具有父類相同的行為。

語(yǔ)法格式

Java 中通過(guò) extends繼承,implement實(shí)現(xiàn)接口,一般形式如下:

class 父類 {
}

interface 接口{
  
}
class 子類 extends 父類, implement 接口 {
}

需要注意的是 Java 不支持類的多繼承,但可以實(shí)現(xiàn)多個(gè)接口。

繼承的特性

子類擁有父類非 private 的屬性、方法,實(shí)現(xiàn)了代碼復(fù)用。

本質(zhì)上來(lái)說(shuō)子類會(huì)繼承父類的所有屬性(包括private),只是私有屬性和方法無(wú)法直接使用。

子類可以擁有自己的屬性和方法,即子類可以對(duì)父類進(jìn)行擴(kuò)展。

子類可以用自己的方式實(shí)現(xiàn)父類的方法,即重寫(xiě)/覆寫(xiě)(Override)。

Java 的類繼承是單繼承,不支持多繼承,單繼承就是一個(gè)子類只能繼承一個(gè)父類,這是 Java 繼承區(qū)別于 C++ 繼承的一個(gè)特性。

提高了類之間的耦合性(繼承的缺點(diǎn),耦合度高就會(huì)造成代碼之間的聯(lián)系越緊密,代碼獨(dú)立性越差)。

繼承的關(guān)鍵字

繼承可以使用 extends 和 implements 這兩個(gè)關(guān)鍵字來(lái)實(shí)現(xiàn)繼承,而且所有的類都是繼承于 java.lang.Object,當(dāng)一個(gè)類沒(méi)有繼承的兩個(gè)關(guān)鍵字,則默認(rèn)繼承object(這個(gè)類在 java.lang 包中,所以不需要 import)祖先類。

extends

在 Java 中,類的繼承是單一繼承,也就是說(shuō),一個(gè)子類只能擁有一個(gè)父類,所以 extends 只能繼承一個(gè)類。

implements

使用 implements 關(guān)鍵字可以變相的使java具有多繼承的特性,使用范圍為類繼承接口的情況,可以同時(shí)繼承多個(gè)接口(接口跟接口之間采用逗號(hào)分隔)。

public interface A {
    public void eat();
    public void sleep();
}
 
public interface B {
    public void wolf();
}
 
public class C implements A,B {
}
super thisfinal 關(guān)鍵字

super關(guān)鍵字:我們可以通過(guò)super關(guān)鍵字來(lái)實(shí)現(xiàn)對(duì)父類成員的訪問(wèn),用來(lái)引用當(dāng)前對(duì)象的父類。

this關(guān)鍵字:指向自己的引用。

final 關(guān)鍵字聲明類可以把類定義為不能繼承的,即最終類;或者用于修飾方法,該方法不能被子類重寫(xiě).

實(shí)現(xiàn)繼承

A.java

public class A {
    public int num = 1;
    public int getNum() {
        return num;
    }
}

B.java

public class B extends A {

}

Main.java

public class Main {
    public static void main(String[] args) {
        B b1 = new B();
        System.out.println("b1.num = " + b1.num);//通過(guò)訪問(wèn)數(shù)據(jù)域得到num的值
        System.out.println("b1.getNum return " + b1.getNum());//通過(guò)get方法得到num的值
    }
}

結(jié)果:

b1.num = 1
b1.getNum return 1

可以發(fā)現(xiàn)我們沒(méi)有在class B中沒(méi)有定義任何數(shù)據(jù)域和方法,但是子類B可以繼承父類A所有可以訪問(wèn)的數(shù)據(jù)域和方法。

回顧(到底上學(xué)的時(shí)候?qū)W的什么)

想想上學(xué)時(shí)候老師都講了點(diǎn)啥,完全沒(méi)有印象,看了之前的U盤(pán)

發(fā)現(xiàn),上學(xué)時(shí)老師把一些知識(shí)點(diǎn)給我們總結(jié)成了Word,發(fā)給了我們,但是一點(diǎn)印象都沒(méi)有,甚至不知道是干什么的。

潘老師,總是和我們說(shuō)工程和科學(xué)之間的區(qū)別,感覺(jué)有了更深得體會(huì)。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/77596.html

相關(guān)文章

  • Java新手的一些建議——Java知識(shí)點(diǎn)歸納(Java基礎(chǔ)部分)

    摘要:中很多特性或者說(shuō)知識(shí)點(diǎn)都是和面向?qū)ο缶幊谈拍钕嚓P(guān)的。在多線程中內(nèi)容有很多,只是簡(jiǎn)單說(shuō)明一下中初步使用多線程需要掌握的知識(shí)點(diǎn),以后有機(jī)會(huì)單獨(dú)再詳細(xì)介紹一些高級(jí)特性的使用場(chǎng)景。   寫(xiě)這篇文章的目的是想總結(jié)一下自己這么多年來(lái)使用java的一些心得體會(huì),主要是和一些java基礎(chǔ)知識(shí)點(diǎn)相關(guān)的,所以也希望能分享給剛剛?cè)腴T(mén)的Java程序員和打算入Java開(kāi)發(fā)這個(gè)行當(dāng)?shù)臏?zhǔn)新手們,希望可以給大家一些經(jīng)...

    lykops 評(píng)論0 收藏0
  • 自學(xué) JAVA 的幾點(diǎn)建議

    摘要:自制力好的人,估計(jì)在保存后會(huì)翻出來(lái)看兩眼,過(guò)幾天又忘得一干二凈了。多思考學(xué)會(huì)思考,養(yǎng)成多思考的習(xí)慣。以項(xiàng)目來(lái)驅(qū)動(dòng)自己學(xué)習(xí),整個(gè)過(guò)程將會(huì)有趣得多。后語(yǔ)以上就是我對(duì)自學(xué)的幾點(diǎn)建議,希望對(duì)你們有幫助。 微信公眾號(hào):一個(gè)優(yōu)秀的廢人如有問(wèn)題或建議,請(qǐng)后臺(tái)留言,我會(huì)盡力解決你的問(wèn)題。 showImg(https://segmentfault.com/img/remote/1460000018208...

    klinson 評(píng)論0 收藏0
  • Java 面向?qū)ο缶幊痰娜筇匦裕ǚ庋b、繼承、多態(tài))以及重寫(xiě)和重載

    摘要:實(shí)現(xiàn)多態(tài)的三個(gè)必要條件繼承在多態(tài)中必須存在有繼承關(guān)系的子類和父類。參考面試題解惑系列九繼承多態(tài)重載和重寫(xiě)面向?qū)ο笕筇匦苑庋b,繼承,多態(tài)以及抽象接口的介紹 版權(quán)聲明:本文由吳仙杰創(chuàng)作整理,轉(zhuǎn)載請(qǐng)注明出處:https://segmentfault.com/a/1190000009141566 1. 面向?qū)ο缶幊痰娜筇匦?Java 面向?qū)ο缶幊逃腥筇匦裕悍庋b、繼承、多態(tài)。 1.1 封裝...

    sushi 評(píng)論0 收藏0
  • 【從基礎(chǔ)學(xué) Java繼承

    摘要:快速了解繼承在的繼承關(guān)系里子類可以從獲取父類的所有的公共和受保護(hù)成員字段方法和內(nèi)部類。阻止繼承有些情況下,我們可能不希望子類覆蓋父類的方法,這時(shí)候,用關(guān)鍵字修飾方法即可實(shí)現(xiàn)該目的。 和現(xiàn)實(shí)世界中:子女可以繼承父母的一些特征(如:基因)、財(cái)產(chǎn)等一樣。OOP 中也有提供類似的特性,一個(gè)類完全可以從其它類里獲得一些屬性和方法,而不需要我們自己重新定義。這種特性簡(jiǎn)單但強(qiáng)大 (Simple an...

    Dongjie_Liu 評(píng)論0 收藏0
  • 談?wù)勎宜斫獾拿嫦驅(qū)ο?/b>

    摘要:眾多面向?qū)ο蟮木幊趟枷腚m不盡一致,但是無(wú)論哪種面向?qū)ο缶幊陶Z(yǔ)言都具有以下的共通功能。原型編程以類為中心的傳統(tǒng)面向?qū)ο缶幊?,是以類為基礎(chǔ)生成新對(duì)象。而原型模式的面向?qū)ο缶幊陶Z(yǔ)言沒(méi)有類這樣一個(gè)概念。 什么是面向?qū)ο??這個(gè)問(wèn)題往往會(huì)問(wèn)到剛畢業(yè)的新手or實(shí)習(xí)生上,也是往往作為一個(gè)技術(shù)面試的開(kāi)頭題。在這里我們不去談如何答(fu)好(yan)問(wèn)(guo)題(qu),僅談?wù)勎宜斫獾拿嫦驅(qū)ο蟆?從歷...

    avwu 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<