国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

java繼承的一個小問題

netScorpion / 2023人閱讀

摘要:需求如下原來有個類,其中的每個方法實現都返回該類本身。這樣就支持鏈式調用現在有一個新的類想要繼承類的全部方法,同時新增一些方法,如下。但是無奈類每個返回的是類,因此,這樣聲明報錯將對象指向,但中沒有方法,因此出錯。

需求如下:
原來有個類,其中的每個方法實現都返回該類本身。

public class AClass {
    private String str="";
    
    public AClass addString(String str) {
        this.str = str;
        return this;
    }
    
    public String getString() {
        return str;
    }
}

這樣就支持鏈式調用

AClass a = new AClass();
a.addString().addXXX().addYYY()

現在有一個新的類B想要繼承A類的全部方法,同時新增一些方法,如下。

public class BClass extends AClass {
    private int num = 0;
    
    public BClass addInt(int num) {
        this.num = num;
        return this;
    }
    
    public int getInt() {
        return num;
    }
}

但是無奈類A每個返回的是A類,因此,這樣聲明:

AClass b = new BClass();
b.addInt(3); //報錯
b.addString("test");

將B對象指向A,但A中沒有addInt()方法,因此出錯。應該改為:

BClass b = new BClass();
b.addInt(3); 
b.addString("test");

但這么一來就對鏈式調用的支持很微妙,即:

BClass b = new BClass();
b.addInt(3).addString("test"); //正確
b.addString("test").addInt(3); //錯誤

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/70441.html

相關文章

  • 吃透這套Java面試題,拿offer成功率再翻一番

    摘要:語言通過字節碼的方式,在一定程度上解決了傳統解釋型語言執行效率低的問題,同時又保留了解釋型語言可移植的特點。有針對不同系統的特定實現,,,目的是使用相同的字節碼,它們都會給出相同的結果。 showImg(https://segmentfault.com/img/bVbsjCK?w=800&h=450); 一、面向對象和面向過程的區別 面向過程優點: 性能比面向對象高,因為類調用時需要實...

    elva 評論0 收藏0
  • Java編程中那些再熟悉不過知識點(持續更新)

    摘要:語言通過字節碼的方式,在一定程度上解決了傳統解釋型語言執行效率低的問題,同時又保留了解釋型語言可移植的特點。有針對不同系統的特定實現,,,目的是使用相同的字節碼,它們都會給出相同的結果。項目主要基于捐贈的源代碼。 本文來自于我的慕課網手記:Java編程中那些再熟悉不過的知識點,轉載請保留鏈接 ;) 1. 面向對象和面向過程的區別 面向過程 優點: 性能比面向對象高。因為類調用時需要實例...

    taowen 評論0 收藏0
  • 阿里 Java 手冊系列教程:為啥強制子類、父類變量名不同?

    摘要:所以看出和兩個的對應指針數一樣,一個為一個為這就引出了變量的知識點,如手工畫的圖二為啥強制子類父類變量名不同阿里巴巴手冊是這樣寫的強制避免在子父類的成員變量之間或者不同代碼塊的局部變量之間采用完全相同的命名方式,那會導致代碼可讀性降低。 摘要: 原創出處 https://www.bysocket.com 「公眾號:泥瓦匠BYSocket 」歡迎關注和轉載,保留摘要,謝謝! 目錄 父子...

    XGBCCC 評論0 收藏0
  • JAVA刷題(持續更新)

    摘要:年期間微軟公司發布,無論是技術實現上還是目標用戶都與有很多相近之處,給帶來了很多討論比較和競爭對的發展進程影響很大。年月日大會上,公司宣布最終會將開源。及其他與公司爭奪的控制權,令從跨平臺技術變為綁定在上的技術是微軟公司的主要目的。 一、基礎 面向對象 面向對象概念 面向對象(Object Oriented,OO)是軟件開發方法 對象:萬物皆對象,對象可以是具體的事物,也可以是抽象...

    cyixlq 評論0 收藏0
  • 超詳細Java面試題總結(一)之Java基礎知識篇

    摘要:最近在備戰面試的過程中,整理一下面試題。成員變量如果沒有被賦初值,則會自動以類型的默認值而賦值一種情況例外被修飾但沒有被修飾的成員變量必須顯示地賦值而局部變量則不會自動賦值。   最近在備戰面試的過程中,整理一下面試題。大多數題目都是自己手敲的,網上也有很多這樣的總結。自己感覺總是很亂,所以花了很久把自己覺得重要的東西總結了一下。 面向對象和面向過程的區別 面向過程:  優點:性能比面...

    vpants 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<