亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

教你如何正確了解java三大特性!!!!

 更新時(shí)間:2021年07月02日 10:40:29   作者:Ultraman_Cosmos  
所有的面向?qū)ο缶幊陶Z(yǔ)言的思路都是差不多的,而這三大特性,則是思路中的支柱點(diǎn),接下來(lái)我就重點(diǎn)講解了一下java三大特性,感興趣的朋友跟隨腳本之家小編一起看看吧

繼承與多態(tài)

本章講解面向?qū)ο蟮娜筇匦裕?strong>封裝,繼承,多態(tài)。

一.包

Java定義了一種名字空間,稱(chēng)之為包:package。一個(gè)類(lèi)總是屬于某個(gè)包,類(lèi)名(比如Person)只是一個(gè)簡(jiǎn)寫(xiě),真正的完整類(lèi)名是 包名.類(lèi)名。例如:apple 類(lèi)放在包 banana 里面 完整類(lèi)名是:banana.apple。

自定義包的語(yǔ)法:

package<   包名   >

注意:聲明一個(gè)包必須寫(xiě)在類(lèi)的第一行。

1.2 包的導(dǎo)入

如果要使用java中存在的包,可以在程序中使用import語(yǔ)句導(dǎo)入包。

格式如下:(注意中間有一個(gè)小點(diǎn))

import<  包名  >.<  類(lèi)名  >

如果要導(dǎo)入一個(gè)包中的多個(gè)類(lèi),可以使用"*"表示包中所有的類(lèi)。如上個(gè)例子完整代碼為:import banana.*。

 二.繼承

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

繼承的作用:通過(guò)繼承可以快速創(chuàng)建新的類(lèi),實(shí)現(xiàn)代碼的重用,提高程序的可維護(hù)性,節(jié)省大量創(chuàng)建新類(lèi)的時(shí)間,提高開(kāi)發(fā)效率和開(kāi)發(fā)質(zhì)量。

java的繼承語(yǔ)法格式如下:

[修飾符]  class 子類(lèi)名 [extends 父類(lèi)名]{
        //類(lèi)定義部分
}

例如:banana是一個(gè)類(lèi),apple是一個(gè)類(lèi),將banana設(shè)為apple的父類(lèi)

public class apple extends banana{
        //內(nèi)容
}

注意!1.java中的繼承為單繼承,即一個(gè)子類(lèi)只能有一個(gè)直接的父類(lèi)。

           2.子類(lèi)不能選擇性繼承父類(lèi);

           3.Java不支持多重繼承,但一個(gè)類(lèi)可以實(shí)現(xiàn)多個(gè)接口,從而克服單繼承的缺點(diǎn);

           4.構(gòu)造方法不會(huì)被子類(lèi)繼承,但可以從子類(lèi)中調(diào)用父類(lèi)的構(gòu)造方法。

 三:重載和重寫(xiě)

3.1重載(Overload)

同一個(gè)類(lèi)中,同名的方法有不同的參數(shù)列表(參數(shù)類(lèi)型不同,參數(shù)個(gè)數(shù)不同,甚至是參數(shù)順序不同)即為重載,重載對(duì)返回類(lèi)型無(wú)要求,可以相同,也可以不同,但不能通過(guò)返回類(lèi)型是否相同來(lái)判斷重載.

注意以下幾點(diǎn):

(1)同一類(lèi)中方法名相同,參數(shù)列表不同。

(2)返回值類(lèi)型不能用于區(qū)分方法的重載。

提醒:構(gòu)造方法也可以實(shí)現(xiàn)方法的重載

3.2 重寫(xiě)

重寫(xiě),即重新寫(xiě)一遍。即在子類(lèi)中把父類(lèi)本身具有的方法重新寫(xiě)一次。子類(lèi)擴(kuò)展了父類(lèi),子類(lèi)是一個(gè)特殊的父類(lèi)。子類(lèi)以父類(lèi)為基礎(chǔ),額外增加新的屬性和方法。

重寫(xiě)的規(guī)則:

1.發(fā)生在之類(lèi)與父類(lèi)之間

2.父類(lèi)中的私有方法不能被重寫(xiě)

3.重寫(xiě)父類(lèi)方法時(shí),訪問(wèn)權(quán)限不能比父類(lèi)低,拋出異常不能比父類(lèi)的異常范圍廣或拋出新的異常

4.父類(lèi)有靜態(tài)方法時(shí),子類(lèi)必須通過(guò)靜態(tài)方法進(jìn)行重寫(xiě)

重載與重寫(xiě)的區(qū)別:

1.重載發(fā)生在一個(gè)類(lèi)里面

2.重寫(xiě)發(fā)生在父類(lèi)與子類(lèi)之間。

四:多態(tài)

多態(tài)指同一操作作用于不同對(duì)象,可以有不同的解釋?zhuān)灾庐a(chǎn)生不同的執(zhí)行結(jié)果。

多態(tài)體現(xiàn)為父類(lèi)引用變量可以指向子類(lèi)對(duì)象

前提條件:必須要有子父類(lèi)關(guān)系。

注意:在使用多態(tài)后的父類(lèi)引用變量調(diào)用方法時(shí),會(huì)調(diào)用子類(lèi)重寫(xiě)后的方法。

4.1 多態(tài)的轉(zhuǎn)型  

多態(tài)的轉(zhuǎn)型分為向上轉(zhuǎn)型向下轉(zhuǎn)型兩種:

向上轉(zhuǎn)型:多態(tài)本身就是向上轉(zhuǎn)型過(guò)的過(guò)程

使用格式:

父類(lèi)類(lèi)型 變量名=new 子類(lèi)類(lèi)型();

適用場(chǎng)景:當(dāng)不需要面對(duì)子類(lèi)類(lèi)型時(shí),通過(guò)提高擴(kuò)展性,或者使用父類(lèi)的功能就能完成相應(yīng)的操作。

向下轉(zhuǎn)型:一個(gè)已經(jīng)向上轉(zhuǎn)型的子類(lèi)對(duì)象可以使用強(qiáng)制類(lèi)型轉(zhuǎn)換的格式,將父類(lèi)引用類(lèi)型轉(zhuǎn)為子類(lèi)引用各類(lèi)型

4.2 instanceof

instanceof運(yùn)算符的前一個(gè)操作數(shù)通常是一個(gè)引用類(lèi)型變量,后一個(gè)操作數(shù)通常是一個(gè)類(lèi),它用于判斷運(yùn)算符前面的引用變量是否是運(yùn)算符后面的類(lèi)型或其子類(lèi)型的實(shí)例。

注意!使用instanceof運(yùn)算符時(shí),需要注意instancecof運(yùn)算符前面操作數(shù)的編譯時(shí),類(lèi)型要么與后面的類(lèi)相同,要么與后面的類(lèi)具有父子繼承關(guān)系,否則會(huì)引起編譯失誤。

總結(jié)

本篇文章就到這里了,希望可以給你帶來(lái)一些幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • Springboot單元測(cè)試編寫(xiě)實(shí)踐

    Springboot單元測(cè)試編寫(xiě)實(shí)踐

    在日常的開(kāi)發(fā)過(guò)程中,為了提高代碼的可靠性和健壯性,同時(shí)也是檢測(cè)代碼的質(zhì)量,減少測(cè)試環(huán)節(jié)的問(wèn)題,會(huì)對(duì)完成的業(yè)務(wù)功能代碼編寫(xiě)單元測(cè)試,在本文中,將分享一些單元測(cè)試的實(shí)踐和心得,需要的朋友可以參考下
    2023-11-11
  • Mybatis傳入List實(shí)現(xiàn)批量更新的示例代碼

    Mybatis傳入List實(shí)現(xiàn)批量更新的示例代碼

    這篇文章主要介紹了Mybatis傳入List實(shí)現(xiàn)批量更新的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Java之獲取客戶端真實(shí)IP地址的實(shí)現(xiàn)

    Java之獲取客戶端真實(shí)IP地址的實(shí)現(xiàn)

    在開(kāi)發(fā)工作中,我們常常需要獲取客戶端的IP,本文主要介紹了Jav之獲取客戶端真實(shí)IP地址的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • RocketMQ?Broker實(shí)現(xiàn)高可用高并發(fā)的消息中轉(zhuǎn)服務(wù)

    RocketMQ?Broker實(shí)現(xiàn)高可用高并發(fā)的消息中轉(zhuǎn)服務(wù)

    RocketMQ消息代理(Broker)是一種高可用、高并發(fā)的消息中轉(zhuǎn)服務(wù),能夠接收并存儲(chǔ)生產(chǎn)者發(fā)送的消息,并將消息發(fā)送給消費(fèi)者。它具有多種消息存儲(chǔ)模式和消息傳遞模式,支持水平擴(kuò)展和故障轉(zhuǎn)移等特性,可以為分布式應(yīng)用提供可靠的消息傳遞服務(wù)
    2023-04-04
  • SpringBoot+Redis實(shí)現(xiàn)數(shù)據(jù)字典的方法

    SpringBoot+Redis實(shí)現(xiàn)數(shù)據(jù)字典的方法

    這篇文章主要介紹了SpringBoot+Redis實(shí)現(xiàn)數(shù)據(jù)字典的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 代理模式之Java動(dòng)態(tài)代理實(shí)現(xiàn)方法

    代理模式之Java動(dòng)態(tài)代理實(shí)現(xiàn)方法

    今天一個(gè)偶然的機(jī)會(huì)我突然想看看JDK的動(dòng)態(tài)代理,因?yàn)橐郧耙仓酪稽c(diǎn),而且只是簡(jiǎn)單的想測(cè)試一下使用,使用很快里就寫(xiě)好了這么幾個(gè)接口和類(lèi),需要的朋友可以參考下
    2012-11-11
  • 解決使用security和靜態(tài)資源被攔截的問(wèn)題

    解決使用security和靜態(tài)資源被攔截的問(wèn)題

    這篇文章主要介紹了解決使用security和靜態(tài)資源被攔截的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • jdk中動(dòng)態(tài)代理異常處理分析:UndeclaredThrowableException

    jdk中動(dòng)態(tài)代理異常處理分析:UndeclaredThrowableException

    最近在工作中遇到了報(bào)UndeclaredThrowableException的錯(cuò)誤,通過(guò)查找相關(guān)的資料,終于解決了,所以這篇文章主要給大家介紹了關(guān)于jdk中動(dòng)態(tài)代理異常處理分析:UndeclaredThrowableException的相關(guān)資料,需要的朋友可以參考下
    2018-04-04
  • Java筆記之從IO模型到Netty框架學(xué)習(xí)初識(shí)篇

    Java筆記之從IO模型到Netty框架學(xué)習(xí)初識(shí)篇

    Netty作為一個(gè)已經(jīng)發(fā)展了十多年的框架,已然非常成熟了,其中有大量的細(xì)節(jié)是普通使用者不知道或者不關(guān)心的,本文帶你查缺補(bǔ)漏掌握Netty的使用
    2022-03-03
  • Java接口返回省市區(qū)樹(shù)形結(jié)構(gòu)的實(shí)現(xiàn)

    Java接口返回省市區(qū)樹(shù)形結(jié)構(gòu)的實(shí)現(xiàn)

    本文主要介紹了Java接口返回省市區(qū)樹(shù)形結(jié)構(gòu)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01

最新評(píng)論