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

java方法重寫(重點(diǎn)講),方法重載問題

 更新時(shí)間:2024年05月01日 08:48:33   作者:低調(diào)的根兒哥  
這篇文章主要介紹了java方法重寫(重點(diǎn)講),方法重載問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一、方法重載

定義:一個(gè)類中,出現(xiàn)多個(gè)方法的名稱相同,但是它們的形參列表是不同的,那么這些方法就稱為方法重載了。

注意:一個(gè)類中,只要一些方法的名稱相同、形參列表不同,那么它們就是方法重載了,其它的都不管(如:修飾符,返回值類型是否一樣都無所謂)。

形參列表不同指的是:形參的個(gè)數(shù)、類型、順序不同,不關(guān)心形參的名稱。

應(yīng)用場(chǎng)景:開發(fā)中我們經(jīng)常需要為處理一類業(yè)務(wù),提供多種解決方案,此時(shí)用方法重載來設(shè)計(jì)是很專業(yè)的

二、方法重寫

定義:當(dāng)子類覺得父類中的某個(gè)方法不好用,或者無法滿足自己的需求時(shí),子類可以重寫一個(gè)方法名稱、參數(shù)列表一樣的方法,去覆蓋父類的這個(gè)方法,這就是方法重寫。

注意:重寫后,方法的訪問,Java會(huì)遵循就近原則。

上面代碼說明方法重寫了,是一個(gè)案例,小伙伴們可以看一下,多在繼承中使用。

一些方法重寫的注意事項(xiàng):

重寫小技巧:使用Override注解,他可以指定java編譯器,檢查我們方法重寫的格式是否正確,代碼可讀性也會(huì)更好(人家一眼就知道這個(gè)方法是重寫的)。

子類重寫父類方法時(shí),訪問權(quán)限必須大于或者等于父類該方法的權(quán)限( public > protected>缺省)。

(圖上的字有點(diǎn)問題,應(yīng)該是大于等于A類的原方法)

重寫的方法返回值類型,必須與被重寫方法的返回值類型一樣,或者范圍更小。

私有方法、靜態(tài)方法不能被重寫,如果重寫會(huì)報(bào)錯(cuò)的。

注意事項(xiàng)這么多哈哈哈,那就把原來的方法的聲明不變(參數(shù),返回值,方法名稱啥的),就改變里面的方法內(nèi)容 。即“聲明不變,內(nèi)容重寫”。

應(yīng)用場(chǎng)景:當(dāng)子類覺得父類的方法不好用,或者不滿足自己的需求時(shí),就可以用方法重寫。

例子:子類重寫Object類的toString()方法,以便返回對(duì)象的內(nèi)容。

我們直接輸出對(duì)象,其實(shí)默認(rèn)會(huì)調(diào)object類的toString方法,然后返回該對(duì)象的地址,但是我們拿著這個(gè)地址也沒用,所以會(huì)重寫這個(gè)toString方法來讓其返回該對(duì)象的內(nèi)容,才是我們一般所需要的。

(注:object類是默認(rèn)繼承的,重寫的方法是就近調(diào)的,所以會(huì)調(diào)用重寫的toString方法)

例子:

寫了一個(gè)Student類,定義了name,age兩個(gè)成員變量,以及有參無參構(gòu)造器,還有兩個(gè)成員變量的getter,setter方法,齊活?。ㄟ@些是標(biāo)配),然后重寫了toString方法,讓其按照想要展示格式輸出變量的值,而不是地址。

重寫toString方法可以自己寫,idea也有快捷方式,右鍵,選擇Generate,選擇toString(),選擇想要重寫(展示)的變量,點(diǎn)擊ok即可。

步驟如下圖所示,最后一張是編譯器寫好的toString方法。

在Test方法中創(chuàng)建對(duì)象,并賦值,并輸出,看是否調(diào)用了重寫的toString方法。結(jié)果輸出顯示是調(diào)用成功了。

以下附上兩個(gè)類的代碼:

Test.java

public class Test {
    public static void main(String[] args) {
//        創(chuàng)建一個(gè)Student對(duì)象,直接輸出它
        Student  student= new Student();
        student.setName("張三");
        student.setAge(19);
        System.out.println(student);
     }
 
}

Student.java

 
public class Student {
    private String name;
    private int age;
//無參,有參構(gòu)造器
    public Student() {
    }
 
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
//getter,setter方法
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public int getAge() {
        return age;
    }
 
    public void setAge(int age) {
        this.age = age;
    }
 
//  重寫object類的toString方法
    @Override
    public String toString(){
        return  "Student{"+ "name:"+name+",age:"+age+"}";
    }
 
 
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring boot AOP通過XML配置文件聲明的方法

    Spring boot AOP通過XML配置文件聲明的方法

    這篇文章主要介紹了Spring boot AOP通過XML配置文件聲明,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Java實(shí)現(xiàn)PDF在線預(yù)覽功能(四種方式)

    Java實(shí)現(xiàn)PDF在線預(yù)覽功能(四種方式)

    這篇文章主要介紹了Java實(shí)現(xiàn)PDF在線預(yù)覽功能的四種方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • SpringBoot、Java 使用 Jsoup 解析 HTML 頁面的詳細(xì)步驟

    SpringBoot、Java 使用 Jsoup 解析 HTML 頁面

    這篇文章主要介紹了SpringBoot、Java 使用 Jsoup 解析 HTML 頁面的詳細(xì)步驟,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Java超詳細(xì)講解三大特性之一的多態(tài)

    Java超詳細(xì)講解三大特性之一的多態(tài)

    多態(tài)就是指程序中定義的引用變量所指向的具體類型和通過該引用變量發(fā)出的方法調(diào)用在編程時(shí)并不確定,而是在程序運(yùn)行期間才確定,即一個(gè)引用變量到底會(huì)指向哪個(gè)類的實(shí)例對(duì)象,該引用變量發(fā)出的方法調(diào)用到底是哪個(gè)類中實(shí)現(xiàn)的方法,必須在由程序運(yùn)行期間才能決定
    2022-05-05
  • springboot 集成cas5.3 實(shí)現(xiàn)sso單點(diǎn)登錄詳細(xì)流程

    springboot 集成cas5.3 實(shí)現(xiàn)sso單點(diǎn)登錄詳細(xì)流程

    SSO的定義是在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問所有相互信任的應(yīng)用系統(tǒng)。單點(diǎn)登錄是目前比較流行的企業(yè)業(yè)務(wù)整合的解決方案之一,本文給大家介紹springboot 集成cas5.3 實(shí)現(xiàn)sso單點(diǎn)登錄功能,感興趣的朋友一起看看吧
    2021-10-10
  • SpringMVC視圖作用詳解

    SpringMVC視圖作用詳解

    這篇文章主要介紹了springMVC中的視圖與視圖解析器,springMVC視圖的種類很多,默認(rèn)有轉(zhuǎn)發(fā)視圖和重定向視圖,本文就每一種視圖給大家詳細(xì)介紹,需要的朋友可以參考下
    2022-11-11
  • Spring security中的授權(quán)

    Spring security中的授權(quán)

    本篇為大家?guī)鞸pring security的授權(quán),首先要理解一些概念,有關(guān)于:權(quán)限、角色、安全上下文、訪問控制表達(dá)式、方法級(jí)安全性、訪問決策管理器,這篇文章主要介紹了Spring security中的授權(quán),需要的朋友可以參考下
    2024-01-01
  • 入門Java線程基礎(chǔ)一篇就夠了

    入門Java線程基礎(chǔ)一篇就夠了

    線程是進(jìn)程中的一個(gè)實(shí)體,是被系統(tǒng)獨(dú)立調(diào)度和分派的基本單位,線程自己不擁有系統(tǒng)資源,只擁有一點(diǎn)在運(yùn)行中必不可少的資源,但它可與同屬一個(gè)進(jìn)程的其它線程共享進(jìn)程所擁有的全部資源
    2021-06-06
  • Spring?JPA的實(shí)體屬性類型轉(zhuǎn)換器并反序列化工具類詳解

    Spring?JPA的實(shí)體屬性類型轉(zhuǎn)換器并反序列化工具類詳解

    這篇文章主要介紹了Spring?JPA的實(shí)體屬性類型轉(zhuǎn)換器并反序列化工具類詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 教你bat腳本一鍵配置java開發(fā)環(huán)境

    教你bat腳本一鍵配置java開發(fā)環(huán)境

    公司新入職一名員工,項(xiàng)目經(jīng)理讓我安排新人工作,首先需要對(duì)java開發(fā)相關(guān)環(huán)境進(jìn)行配置安裝,但時(shí)常會(huì)因?yàn)榘惭b配置不到位或者操作錯(cuò)誤導(dǎo)致時(shí)間的浪費(fèi),所以在空余時(shí)間收集了一系列軟件的免安裝版本,感興趣的朋友一起看看吧
    2021-12-12

最新評(píng)論