1. 程式人生 > 其它 >jaya語法易混淆點

jaya語法易混淆點

  • 一個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