日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

《疯狂Java讲义》5

發布時間:2025/3/21 java 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《疯狂Java讲义》5 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

toString方法

final

抽象類和抽象方法


toString方法

????先看一個程序:

結果如下:

可以看到,上面的程序和我們想要的結果并不一樣,上面實際上是輸出了p引用的Person對象。我們想要的結果是“Java",這里涉及到了toString()方法。所以下面兩行代碼的效果一樣:

結果如下:

這個方法是Object類里的一個實例方法,所有的Java類里都有這個方法。Object類提供的toString()方法總是返回該對象實現類的"類名+@+hashCode"值,但是這個返回值并不是我們想要的真正的內容。如果想輸出"Java"這個字符串,我們就要重寫Object類里的toString()方法。

舉個栗子:

結果如下:

????實際上,toString()方法是一種“自我描述”方法,只不過沒有重寫的話,不能描述成我們想要看到的結果。

final

????1.final修飾的成員變量必須被程序員顯式地賦初值;

????2.使用final修飾的形參不能被賦初值;

????3.final修基本類型變量和引用類型變量的區別:

????我們用程序來進行說明:

結果如下:

兩個被注釋掉的認為是非法的代碼報錯如下:

????這個就很好理解了,主要就是看final修飾的是誰,修飾誰誰不能變,但是其他可以變。簡單變量很好理解,引用變量就要注意不能變的是引用地址,而不是引用對象。

4.可執行“宏替換”的final變量

????對一個final來說,不管他是類變量、實力變量、還是局部變量,只要該變量滿足以下三個條件,這個final變量就不再是一個變量,而是一個直接量:

(1)被final修飾符修飾;

(2)定義該變量時指定了初始值;

(3)該初始值可以在編譯時就被確定下來。

eg:final? int??age = 5;運算表達式不,除了這種直接給一個值得情況,如果等號后面是一個運算表達式,簡單的連接式,沒有訪問普通變量、調用方法,也看作是“宏變量”。

舉個例子:

結果如下:

我們再看一個栗子:

結果如下:

????也就是說,c和d并不相等。這里的a,b,c在編譯時可以確定下來,但是d因為引用了普通變量(a,b是普通變量,不是宏變量),所以編譯的時候沒有確定下來。但是如果把a和b變成宏變量(加修飾符final),d就可以確定下來了:

結果為:

抽象類和抽象方法

1.?抽象方法和抽象類都要用abstract進行修飾。有抽象方法的類只能被定義成抽象類,但是抽象類中可以沒有抽象方法。

2.?抽象類不能被實例化,無法使用new關鍵字調用抽象類的構造器來創建抽象類的實例。

3.抽象類不能用于創建實例,只能當作父類被子類繼承。子類繼承的時候,父類的所有抽象方法都必須實現。

舉個栗子:

結果如下:

END

【2017.07】 這是補昨天的,學習進度不能停,空了就得相辦法補回來,辛苦一點沒關系,心里踏實。昨天帶弟弟逛了大學校園,想讓他提前感受一下大學,刺激他的學習。不過并不強求什么,畢竟還小,我也是現在才知道學習的意義,才開始有了學習的激情與渴望,小刺猬,加油!

總結

以上是生活随笔為你收集整理的《疯狂Java讲义》5的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。