7. java編程思想讀書筆記(二)

1、finalize函數

java的finalize函數是用來清除垃圾用的,雖然java有自己的清除機制,但是在調用其他語言的dll的時候,不能保證這些dll的申請的內存會被釋放,所以在finalized函數中釋放。

2、方法重載

java和C++的一個區別是,可以對繼承的函數進行重載,比如說

class AAA{
    public void fun(){};
}

class  BBB extends AAA{
    public  void fun(int i){
    };
}

在java中,BBB的類是可以調用fun()和fun(int i)的,但是在C++中,只能調用fun(int i),而fun()已經被覆蓋掉了。

3、內部類

這個東西寫了那麼多字,其實就像古代男人(外部類)取老婆(內部類),老婆娶到手以後,就不能和別人隨便見面,除非男人同意(外部類提供方法),一個男人娶多個老婆(多個內部類),內部類不能夠被繼承,子類和基類的內部類即使是同一個名字也是兩個不同的類,婆婆可以和兒媳婦同名同姓,但是肯定不是一個人!

當然了,娶了老婆,錢(外部類的成員變量)就要給老婆花(調用),你的錢就是老婆的錢,老婆的錢麼,對不起,還是老婆的錢。

4、容器

容器用法都差不多,不過不同的是,沒有強制的類型要求,你可以往裏面隨便放東西,不像C++,只能調用同類型的對象。

不過java的容器,感覺不如c#好用。

5、異常控制

和c++,C#基本一樣,子類的異常處理必須和基類一樣,或者更加嚴格。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章