1. 程式人生 > 其它 >Java學習筆記十二:面向物件之static、抽象類、介面、內部類

Java學習筆記十二:面向物件之static、抽象類、介面、內部類

一、static關鍵字

1. 靜態變數(多執行緒)
2. 靜態方法
3. 靜態程式碼塊

用於載入初始化的資訊,類載入時就執行,永久只執行一次。
執行順序:靜態方法塊(與類一起載入) --> 匿名程式碼塊(賦初始值) --> 構造方法
後續執行時: 匿名程式碼塊 --> 構造方法

4. 靜態匯入包

import static java.lang.Math.random;

5. 靜態類

(待詳細瞭解)

二、抽象類

抽象類特點:

  1. 其本質是一種約束
  2. 抽象類可以有普通方法
  3. 抽象方法必須在抽象類中
  4. 如果子類不是抽象類,那子類必須實現其父抽象類的所有抽象方法
  5. 類單繼承,介面多繼承
  6. 不能使用new,只能靠子類去實現,可以有構造方法
    (構造方法的作用有兩個:一個是初始化變數,另一個是例項化物件。這裡可以用於前者)

三、介面

介面特點:

  1. 介面的本質是契約(約束),可定義一些方法讓不同人實現
  2. 介面中不可以寫普通方法,其所有定義的方法都是public abstract的
  3. 其定義的屬性是public static final的
  4. 實現了介面的類,必須重寫其所有方法
  5. 可利用介面實現多繼承
  6. 介面不能被例項化,無構造方法

四、內部類

  1. 成員內部類
  2. 靜態內部類(static修飾)
  3. 區域性內部類(在方法中寫類)
  4. 匿名內部類
UserService userService = new UserService(){
    @Override
    public void hello() {
        ...
    }
};

interface UserService {
    public void hello();
}

課程:【狂神說Java】Java零基礎學習視訊通俗易懂_嗶哩嗶哩_bilibili

步履不停