摘要:閱讀本文約分鐘對象的行為,這里的對象即上一章中的類吧淺意狀態(tài)影響行為,行為影響狀態(tài)這是一個令人深思的話題了。是通過值傳遞的,也就是說通過拷貝傳遞。聲明一個類型的變量并賦值為,代表的字節(jié)組合會放進(jìn)稱為的變量中。
閱讀本文約“2分鐘”
對象的行為,這里的對象即上一章中的類吧(淺意)
狀態(tài)影響行為,行為影響狀態(tài)!
這是一個令人深思的話題了。
同一類型的每個對象能夠有不同的方法行為嗎?
仔細(xì)想一下其實是可以的,任一類的每個實例都帶有相同的方法,但是方法可以根據(jù)實例變量的值來表現(xiàn)不同的行為。
這里舉例來說的話,Song這個類有兩個實例變量,而play()方法會播放其中一個實例變量指定的歌曲名。但其方法是相同的。
void play(){ System.out.println(title); } //main Song song = new Song(); song.setTitle("同一首歌"); song.setArtist("Myself"); Song song1 = new Song(); song1.setTitle("你的微笑"); song1.setArtist("MySelf");
由于不同的程序設(shè)計背景和個人喜好,你可能會用實參或形參來調(diào)用傳給方法的參數(shù)。
方法會運用形參,調(diào)用的一方會傳入實參。
重點是:如果某個方法需要參數(shù),你就一定得傳東西給他,那個東西得是適當(dāng)類型的值。
且如果你將一個方法聲明有返回值,你就必須返回所聲明類型的值。
當(dāng)然,如果你有用過一些成熟的編譯器,他們也會主動拒絕你返回錯誤的類型。
方法是可以傳入多個參數(shù)的,如果方法有參數(shù),你一定要以正確數(shù)量、類型和順序來傳遞參數(shù)。
Java是通過值傳遞的,也就是說通過拷貝傳遞。
//聲明一個int類型的變量并賦值為7,代表7的字節(jié)組合會放進(jìn) //稱為x的變量中。 int x = 7; //聲明一個有int參數(shù)的方法,參數(shù)名稱為z void go(int z){ } //以x為參數(shù)傳入go()這個方法,x的字節(jié)組合會被拷貝并裝 //進(jìn)z中 foo.go( x ); //在方法中改變z的值,此時的x的值不會改變! //傳入z的只是一個拷貝 //方法無法改變調(diào)用方所傳入的參數(shù) void go ( int z ){ z = 0; }
這里有一些要點需要你注意!
——類定義對象所知及所為
——對象所知是實例變量
——對象所為者是方法
——方法可依據(jù)實例變量來展現(xiàn)不同的行為
——方法可使用參數(shù),這代表你可以傳入一個或多個值的方法
——傳給方法的參數(shù)必須符合聲明時的數(shù)量、順序及類型
——傳入與傳出方法的值類型可以隱含地放大或明確地縮小
——方法必須聲明返回類型,使用void類型代表方法不返回任何東西
——如果方法聲明了非void的返回類型,那就一定要返回與聲明類型相同的值。
本文已轉(zhuǎn)載個人技術(shù)公眾號:UncleCatMySelf
歡迎留言討論與點贊
上一篇推薦:【Java貓說】Java多線程之內(nèi)存可見性(下篇)
下一篇推薦:【Java貓說】關(guān)于Java方法及傳參的一些問題
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/71670.html
摘要:我可不可以忽略返回值并未要求一定要處理返回值。你可以調(diào)用返回非類型的方法而不必理會返回值,這代表你要的是方法的行為而不是返回值,你可以不指派返回值。 閱讀本文約1.2分鐘 1、如果想要傳入的參數(shù)是對象而不是primitive主數(shù)據(jù)類型會怎樣? 在Java中所傳遞的所有東西都是值,但此值是變量所攜帶的值。還有,引用對象的變量所攜帶的是遠(yuǎn)程控制而不是對象本身,若你對方法傳入?yún)?shù),實際上傳...
摘要:也可以這么說,對象就好像通訊簿中的一筆數(shù)據(jù)。對象有已知的事物,并能執(zhí)行工作。對象本身已知道的事物成為實例變量,它代表對象的狀態(tài)。對象可執(zhí)行的動作稱為方法,它代表對象的行為。 閱讀本文約2.1分鐘。 當(dāng)你在設(shè)計類時,要記得對象時靠類的模型塑造出來的,你可以這樣看: ——對象是已知事物 ——對象會執(zhí)行的動作 對象本身已知的事物稱為實例變量,它們代表對象的狀態(tài)(數(shù)據(jù)),且該類型的每一個對象...
摘要:閱讀本文約分鐘上一次我們說到互斥代碼的實現(xiàn)過程,如果有忘記或不清楚的可以去上篇看看。貓說多線程之內(nèi)存可見性上篇今天我們了解下重排序。 閱讀本文約3分鐘 上一次我們說到synchronized互斥代碼的實現(xiàn)過程,如果有忘記或不清楚的可以去上篇看看。【Java貓說】Java多線程之內(nèi)存可見性(上篇) 今天我們了解下重排序。 其使代碼書寫的順序與實現(xiàn)執(zhí)行的順序不同,指令重排序是編譯器或處理...
摘要:閱讀本文約分鐘變量有兩種主數(shù)據(jù)類型和引用。主數(shù)據(jù)類型用來保存基本類型的值,包括整數(shù),布爾和浮點數(shù)等,而對象引用保存的是對象的引用。而在中,主數(shù)據(jù)類型也有不用的大小與名稱。 閱讀本文約2.3分鐘 變量有兩種:primitive主數(shù)據(jù)類型和引用。 Java注重類型。它不會讓你做出把長頸鹿類型變量裝進(jìn)兔子類型變量中這種詭異又危險的舉動——如果有人對長頸鹿調(diào)用跳躍這個方法會發(fā)生什么悲劇?并且...
摘要:閱讀本文約分鐘處理戰(zhàn)艦游戲前言你聽說過有些程序員上班總是遲到,而下班又很準(zhǔn)時嗎因為他們使用了。復(fù)現(xiàn)上一章我們的程序運行起來了,但是還存在一些低級或者嚴(yán)重的,即當(dāng)用戶擊中一個坐標(biāo)后可以重復(fù)擊殺來快速接受游戲。 閱讀本文約 6分鐘 ArrayList處理戰(zhàn)艦游戲BUG 前言 你聽說過有些程序員上班總是遲到,而下班又很準(zhǔn)時嗎?因為他們使用了Java API。核心Java函數(shù)庫是由一堆等著被...
閱讀 1330·2021-11-25 09:43
閱讀 739·2021-11-18 10:02
閱讀 2862·2021-09-07 09:59
閱讀 2748·2021-08-30 09:44
閱讀 2921·2019-08-30 13:17
閱讀 2305·2019-08-29 12:17
閱讀 1673·2019-08-28 17:57
閱讀 1281·2019-08-26 14:04