Java散落知識點總結 一

2021-07-14 13:28:20 字數 1697 閱讀 3831

1.陣列

1.

int arr=new int[5];

system.out.println(arr[5]);

//編譯通過,發生執行時異常(陣列越界異常)

2.二維陣列:要理解二維陣列的記憶體儲存結構,陣列是引用資料型別,因此是堆中開闢空間

int arr=new int[2][3];

//int[2] 這塊空間儲存的是兩個int[3]的記憶體位址

//注意!!兩個int[3] 記憶體的位址是不連續的

注意!!由於記憶體的位址是不連續的,這也就解釋了為什麼

int[ ][ ] arr=new int[2][ ]; //編譯通過

int[ ][ ] arr=new int[ ][3]; //編譯不通過

2.靜態**塊

隨著.class的載入執行,優先main函式的執行,且只執行一次

class testw

} public class test01

public static void main(string args)

}

/*output*/

a 只輸出a

應為在test01的main函式中並沒有載入 testw.class檔案,因此testw的靜態**塊不會執行

3.構造**塊

在建構函式之前執行,每新建乙個物件就會執行構造**塊

class test

public test()

} /*output*/

first construct

second construct

4.物件建立過程

1.首先載入.class檔案建立物件

2.如果有靜態**塊先執行靜態**塊

3.堆中開闢記憶體為成員變數賦預設值

4.堆中開闢記憶體為成員變數賦初始值

5.執行構造**塊

6.執行建構函式

7.物件在堆中的位址傳給棧中的引用

5.super和this的對比

1.this是指向當前的物件的引用,表示當前物件

2.super表示超類意思

3.當成員函式中(非靜態)的區域性變數與成員變數同名時,使用this解決同名問題

eg: public void setname(string name)

4.super是為了解決子類覆蓋父類的成員函式或者成員方法,解決被遮蔽的問題使其可見。

5.在子類建構函式中,首先要呼叫建構函式(super() 呼叫可以省略)但是有一點一定要注意!

當父類的建構函式已經被顯示宣告時候(也就是說預設建構函式已經消失),必須要顯示宣告父類的預設建構函式

否則子類在建構函式時候如果不顯示宣告時,就會報錯。

6.system.out.println(this);           //輸出的是當前物件的位址

system.out.println(super);       //編譯報錯不通過

Java集合知識點總結

list有序且允許元素重複。map也屬於集合系統,但和collection介面沒關係。map是key對value的對映集合,其中key列就是乙個集合。key不能重複,但是value可以重複。sortedset和sortedmap介面對元素按指定規則排序,sortedmap是對key列進行排序。has...

java多型知識點總結

多型 一種事物有多種表現形式。物件導向的最後乙個特徵,繼承和封裝都是為多型打基礎!生活中的多型 打招呼 中國人 你好 英國人 hello 日本人 拷逆七娃 南韓人 阿娘哈賽you 泰國人 薩瓦迪卡 1 方法的多型性 方法的重寫和過載 2 物件的多型性 物件的轉型上!person p new stud...

JAVA知識點總結(七)多型

多型 可以理解為事物存在的多種體現形態 人 男人,女人 動物 貓,狗 貓 x new 貓 動物 x new 貓 動物貓,狗 1.多型的體現 父類的引用指向了自己子類的物件 父類的引用也可以接收自己子類的物件 2.多型的前提 必須是類與類之間的關係,要麼繼承,要麼實現 3.多型的好處 多型的出現大大的...