jaya語法易混淆點
阿新 • • 發佈:2021-07-30
-
一個java檔案中可以定義N多個class,但是隻能有一個public class並且public class的類名跟檔名保持一致;
-
一個類裡面必須有一個主函式;
-
物件的建立和使用:
-
使用new關鍵字來建立物件
ClassName objectName = new ClassName();【記住這個語法】
-
-
構造方法:
- 建立物件的時候預設會呼叫構造方法來建立物件,(在堆中開闢空間),可以完成成員變數的某些初始化操作;
- 一般構造方法都會進行過載(一個類中可能包含多個屬性值,當只需要給部分屬性初始化的時候需要呼叫不同的構造方法);
- 沒有返回值,所以不要定義資料型別;
-
this:表示當前物件的指標,指向當前物件,表示當前物件的引用,用處:
- 當構造方法中的引數名稱跟類的成員變數名稱一樣的時候,可以使用this代表當前物件
- 注意:有了this之後,可以將構造方法的引數跟成員變數保持一致
- 當構造方法中需要呼叫其他的構造方法時,可以使用this(name)呼叫其他構造方法,相當於this.constructor(name)但是必須位於方法體的第一行
- 當多個普通方法之間需要呼叫的時候,可以使用this來進行呼叫,指的是當前物件的其他方法(也可以不加this);
- 當方法中的引數名稱跟成員變數保持一致的時候,使用 this.變數名稱 表示的是物件的值,而使用變數名稱表示形參列表中的值;
-
static關鍵字:
- 修飾成員變數的時候,表示靜態成員變數或者叫類變數
- 普通變數在使用的時候,必須要通過物件名進行呼叫
- 類變數或者靜態變數可以使用物件名呼叫也可以使用類名進行呼叫
- 修飾方法的時候,表示靜態方法或者叫類方法
- 普通方法在使用的時候,必須要通過物件名進行呼叫
- 類方法或者靜態方法可以使用類名,也可以使用物件名
- 注意:
- 1、靜態變數,在建立物件之前被初始化,或者說在類被載入之前進行初始化
- 2、靜態變數被所有的物件共享,屬於公共變數,物件和類都可以直接呼叫【但是推薦使用類來呼叫】
- 3、成員變數放在堆中,而靜態變數放在方法去中靜態區
- 4、靜態變數不能定義在靜態方法中,還有普通方法中
- 5、靜態方法可以在非靜態方法(普通方法)中進行呼叫
- 6、靜態方法中不能直接呼叫非靜態方法【如果想呼叫,則可以new ClassName().method();】
- 7、靜態方法中不允許出現this呼叫【靜態方法在物件建立之前就已經有了,呼叫this的時候沒有物件可呼叫】
- 8、一般工具類中的方法定義為static
- 修飾成員變數的時候,表示靜態成員變數或者叫類變數