Java基礎 知識點整理(一)

2021-07-10 17:58:24 字數 2672 閱讀 2674

1.&和&&,|和||的區別

對於&&,只要左邊為假,右邊就不執行判斷

對於&,無論左邊為真假,右邊都執行判斷

對於||,只要左邊為真,右邊就不執行判斷

對於|,無論左邊為真為假,右邊都執行判斷

2.建構函式與一般函式的區別

(1)建構函式在建立物件時,會被自動呼叫

一般函式在建立物件後,需要主動呼叫

(2)建構函式一般只呼叫一次

一般函式可以多次呼叫

3.匿名物件:

匿名物件就是不給物件命名,直接呼叫類中的成員或方法

new 類名.方法()    new 類名.成員

4.this

(1)this代表當前物件,this就是所在函式所屬物件的引用

(2)this可以在建構函式中呼叫其他建構函式,但只能在建構函式的第一行,這是因為this代表構造的物件,而其初始化必須先執行。格式為: this(成員名);

5靜態的特點:(宗旨:和物件無關,不需要建立物件)

(1)靜態修飾的成員

靜態修飾的成員被所有物件共享(可以節省記憶體),靜態修飾的資料是共享資料

靜態修飾的成員和方法由於物件存在,因為靜態的成員和變數隨著類的載入就已經存在

靜態成員和方法可以直接被類名呼叫,格式:類名.靜態成員,類名.靜態方法

(2)靜態修飾的方法

靜態的方法只能訪問靜態成員變數和靜態的成員函式(非靜態方法既能訪問非靜態的成員又能訪問非靜態的方法)

靜態方法中不能呼叫this或super關鍵字

(3)靜態**塊

格式:

static

特點:隨著類的載入而自動執行,而且只執行一次,因為是靜態的所以會被自動載入,而又由於是靜態的只要載入了就可以被其他成員所呼叫,不需要再載入,否則也是浪費

作用:用於給類進行初始化,雖然建構函式時給物件初始化的,但是有些類不需要建立物件(比如變數和方法都是靜態時)

6.函式是否需要靜態修飾?

就看函式是否需要訪問非靜態成員變數,如果需要則定義為非靜態的,如果不需要就定義成靜態的

7.構造**快

可以給所有物件的相同內容初始化

格式:在類中用 {}括起來就可以

8. 靜態**塊,構造**塊,建構函式,區域性**塊區別

靜態**塊:只與類有關,類一載入就執行且只執行一次

構造**塊:與物件有關,需要new乙個物件,然而new一次就執行一次,它是給物件進行初始化的,與建構函式主要區別在於,它初始化所有需要建立物件共同的初始化內容

建構函式:建構函式是有針對性的初始化,執行不同過載的建構函式,對類的成員初始化內容不同

區域性**塊:限定變數生命週期時用的

執行順序:靜態**塊(1)構造**快(2)建構函式(3)區域性**塊(4)

9.如何讓類擁有不允許呼叫建構函式

當類中的方法根本就沒有呼叫類中的成員變數,或根被就沒有成員變數時,就可以將成員函式定義為靜態的成員函式,這時也就不需要建立物件來呼叫這些靜態的方法,防止浪費空間,就可以強制阻止建立物件,在建構函式前私有化(加private)

10.switch語句

只能判斷4中型別的引數:short    int   char    byte

case無順序之分,上下都行,但是記得如果需要在每個case的執行語句後面加break;(switch結束大括號的那條語句可以省略)

如果沒有break時,程式會不再判斷case值,直接執行下面的執行語句直到遇到乙個break或右大括號

switch(x)

//執行結果:abc

11.記憶體的劃分

①暫存器    ②本地方法區    ③方法區

④棧記憶體:儲存的都是區域性變數,變數所屬的作用域一結束,該變數就自動結束

⑤堆記憶體:儲存陣列(其實也是物件),物件,凡是new建立的物件都在對中

特點:每乙個物件都有首位址,堆記憶體每乙個變數都有預設的初始化,如int型為0,char型為null,string型為null,boolean為               false

12.成員變數與區域性變數的區別

①成員變數定義在類中,整個類都可以訪問,

區域性變數定義在函式,語句,區域性**塊中,只在所屬的區域有效

②成員變數存在堆記憶體的物件中

區域性變數存在棧記憶體的方法中

③成員變數隨著物件建立而存在,隨著物件消失而消失

區域性變數隨著所屬區域執行而存在,隨著所屬區域執行結束而消失

④成員變數都有預設的初始化值

區域性變數沒有預設的初始化,沒有初始化過的不能直接用

13建構函式的特點

函式名與類名相同,首字母大寫,不能定義返回型別(如果定義了就不是建構函式了,可以看為是普通函式)

如果類中沒有定義建構函式,那麼類中會有乙個預設的空參夠凹函式,如果類中定義了指定的建構函式,那麼預設的建構函式就沒有了,如果仍需空參的建構函式,需要手動定義乙個

建構函式可以呼叫類中的其他函式,而類中的其他函式不能呼叫建構函式(因為建構函式是new乙個自動呼叫的)

14基本型別的大小

char       1位元組

short      2位元組

int           4位元組

long        8位元組

float        4位元組

double     8位元組

JAVA基礎知識點整理

一.預設的構造方法不一定都是public的 預設構造方法的修飾符是與所在類的修飾符一致的。二.split 分割字元竄有特殊字元竄像 等並不會達到預定的效果。三.一維陣列占用記憶體比二維陣列多,測試 runtime.getruntime totalmemory 可以得到占用記憶體總數,hashmap儲...

VUE基礎知識點整理

純知識點整理,適合vue小白 不小心點了發布 淚目 1,指令 v bind id domid 屬性值繫結 縮寫 id xx v on click add 事件處理 縮寫 click xx v if seen 條件 v for todo in todos data demo methods compu...

C C 基礎知識點整理

1.includeusing namespace std int main cout aa 0 1 endl cout aa 1 endl cout aa 0 endl cout aa 1 endl return 0 2.某二叉樹的後序遍歷和中序遍歷是一樣的都為abcdef,那麼它按層輸出的結果為 ...