摘要:需求如下原來(lái)有個(gè)類,其中的每個(gè)方法實(shí)現(xiàn)都返回該類本身。這樣就支持鏈?zhǔn)秸{(diào)用現(xiàn)在有一個(gè)新的類想要繼承類的全部方法,同時(shí)新增一些方法,如下。但是無(wú)奈類每個(gè)返回的是類,因此,這樣聲明報(bào)錯(cuò)將對(duì)象指向,但中沒有方法,因此出錯(cuò)。
需求如下:
原來(lái)有個(gè)類,其中的每個(gè)方法實(shí)現(xiàn)都返回該類本身。
public class AClass { private String str=""; public AClass addString(String str) { this.str = str; return this; } public String getString() { return str; } }
這樣就支持鏈?zhǔn)秸{(diào)用:
AClass a = new AClass(); a.addString().addXXX().addYYY()
現(xiàn)在有一個(gè)新的類B想要繼承A類的全部方法,同時(shí)新增一些方法,如下。
public class BClass extends AClass { private int num = 0; public BClass addInt(int num) { this.num = num; return this; } public int getInt() { return num; } }
但是無(wú)奈類A每個(gè)返回的是A類,因此,這樣聲明:
AClass b = new BClass(); b.addInt(3); //報(bào)錯(cuò) b.addString("test");
將B對(duì)象指向A,但A中沒有addInt()方法,因此出錯(cuò)。應(yīng)該改為:
BClass b = new BClass(); b.addInt(3); b.addString("test");
但這么一來(lái)就對(duì)鏈?zhǔn)秸{(diào)用的支持很微妙,即:
BClass b = new BClass(); b.addInt(3).addString("test"); //正確 b.addString("test").addInt(3); //錯(cuò)誤
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/70441.html
摘要:語(yǔ)言通過(guò)字節(jié)碼的方式,在一定程度上解決了傳統(tǒng)解釋型語(yǔ)言執(zhí)行效率低的問題,同時(shí)又保留了解釋型語(yǔ)言可移植的特點(diǎn)。有針對(duì)不同系統(tǒng)的特定實(shí)現(xiàn),,,目的是使用相同的字節(jié)碼,它們都會(huì)給出相同的結(jié)果。 showImg(https://segmentfault.com/img/bVbsjCK?w=800&h=450); 一、面向?qū)ο蠛兔嫦蜻^(guò)程的區(qū)別 面向過(guò)程優(yōu)點(diǎn): 性能比面向?qū)ο蟾?,因?yàn)轭愓{(diào)用時(shí)需要實(shí)...
摘要:語(yǔ)言通過(guò)字節(jié)碼的方式,在一定程度上解決了傳統(tǒng)解釋型語(yǔ)言執(zhí)行效率低的問題,同時(shí)又保留了解釋型語(yǔ)言可移植的特點(diǎn)。有針對(duì)不同系統(tǒng)的特定實(shí)現(xiàn),,,目的是使用相同的字節(jié)碼,它們都會(huì)給出相同的結(jié)果。項(xiàng)目主要基于捐贈(zèng)的源代碼。 本文來(lái)自于我的慕課網(wǎng)手記:Java編程中那些再熟悉不過(guò)的知識(shí)點(diǎn),轉(zhuǎn)載請(qǐng)保留鏈接 ;) 1. 面向?qū)ο蠛兔嫦蜻^(guò)程的區(qū)別 面向過(guò)程 優(yōu)點(diǎn): 性能比面向?qū)ο蟾?。因?yàn)轭愓{(diào)用時(shí)需要實(shí)例...
摘要:所以看出和兩個(gè)的對(duì)應(yīng)指針數(shù)一樣,一個(gè)為一個(gè)為這就引出了變量的知識(shí)點(diǎn),如手工畫的圖二為啥強(qiáng)制子類父類變量名不同阿里巴巴手冊(cè)是這樣寫的強(qiáng)制避免在子父類的成員變量之間或者不同代碼塊的局部變量之間采用完全相同的命名方式,那會(huì)導(dǎo)致代碼可讀性降低。 摘要: 原創(chuàng)出處 https://www.bysocket.com 「公眾號(hào):泥瓦匠BYSocket 」歡迎關(guān)注和轉(zhuǎn)載,保留摘要,謝謝! 目錄 父子...
摘要:年期間微軟公司發(fā)布,無(wú)論是技術(shù)實(shí)現(xiàn)上還是目標(biāo)用戶都與有很多相近之處,給帶來(lái)了很多討論比較和競(jìng)爭(zhēng)對(duì)的發(fā)展進(jìn)程影響很大。年月日大會(huì)上,公司宣布最終會(huì)將開源。及其他與公司爭(zhēng)奪的控制權(quán),令從跨平臺(tái)技術(shù)變?yōu)榻壎ㄔ谏系募夹g(shù)是微軟公司的主要目的。 一、基礎(chǔ) 面向?qū)ο?面向?qū)ο蟾拍?面向?qū)ο?Object Oriented,OO)是軟件開發(fā)方法 對(duì)象:萬(wàn)物皆對(duì)象,對(duì)象可以是具體的事物,也可以是抽象...
摘要:最近在備戰(zhàn)面試的過(guò)程中,整理一下面試題。成員變量如果沒有被賦初值,則會(huì)自動(dòng)以類型的默認(rèn)值而賦值一種情況例外被修飾但沒有被修飾的成員變量必須顯示地賦值而局部變量則不會(huì)自動(dòng)賦值。 最近在備戰(zhàn)面試的過(guò)程中,整理一下面試題。大多數(shù)題目都是自己手敲的,網(wǎng)上也有很多這樣的總結(jié)。自己感覺總是很亂,所以花了很久把自己覺得重要的東西總結(jié)了一下。 面向?qū)ο蠛兔嫦蜻^(guò)程的區(qū)別 面向過(guò)程: 優(yōu)點(diǎn):性能比面...
閱讀 1022·2021-11-22 14:56
閱讀 993·2021-11-11 16:54
閱讀 7795·2021-09-23 11:55
閱讀 3014·2021-09-22 15:57
閱讀 2796·2021-08-27 16:25
閱讀 675·2019-08-30 15:55
閱讀 1665·2019-08-30 15:43
閱讀 1599·2019-08-30 14:23