建立 Java 類別或類型

透過「Create New Class」對話方塊和檔案範本,Android Studio 可協助您快速建立下列新的類別和類型:

  • Java 類別
  • 列舉和單例模式類別
  • 介面和註解類型

填寫「Create New Class」對話方塊欄位後,按一下「OK」,Android Studio 就會建立包含基本架構程式碼的 .java 檔案,包括套件陳述式、任何必要匯入內容、標頭,以及類別或類型宣告。接下來,您可以將程式碼新增至此檔案。

檔案範本會指定 Android Studio 產生基本架構程式碼的方式。您可以直接使用 Android Studio 提供的檔案範本,或自訂各檔案範本以配合您的開發程序。

檢視及自訂檔案範本

Android Studio 提供檔案範本,範本透過「建立新類別」對話方塊決定如何建立新的 Java 類別和類型。您可以自訂這些範本。

「Create New Class」對話方塊。

圖 1. 「Create New Class」對話方塊。

Android Studio 檔案範本包含速率範本語言 (VTL) 程式碼,以及處理這些額外選項的變數。「Create New Class」對話方塊會使用 AnnotationTypeClassEnumInterfaceSingleton 檔案範本。

如要檢視範本、尋找自訂內容及修改範本,請按照下列步驟操作:

  1. 請執行下列任一步驟:

    • 對於 Windows 或 Linux,請依序選取「File」>「Settings」>「Editor」>「File and Code Templates」>「Files」
    • 若是 macOS,請依序選取「Android Studio」>「Preferences」>「Editor」>「File and Code Templates」>「Files」

    在「範本清單」中,內部範本名稱將以粗體顯示。自訂範本名稱以醒目顯示的顏色 (例如藍色) 顯示。

  2. 視需要自訂檔案範本。

    如要使用「Create New Class」對話方塊,請確認您的變更符合「Android Studio 檔案範本程式碼」。

如需更多關於檔案範本 (包括 VTL) 的資訊,請參閱檔案和程式碼範本檔案和程式碼範本對話方塊

建立 Java 類別或類型

Android Studio 可協助您建立新的 Java 類別;列舉和單例模式類別;以及以檔案範本為基礎的介面和註解類型。

如要建立新的 Java 類別或類型,請按照下列步驟操作:

  1. 在「Project」視窗中,對 Java 檔案或資料夾按一下滑鼠右鍵,然後依序選取「New」>「Java Class」
  2. 您也可以選擇在「Project」視窗中選取 Java 檔案或資料夾,或者在程式碼編輯器中按一下 Java 檔案。然後依序選取「File」>「New」>「Java Class」

    您選取的項目會決定新類別或類型的預設套件。

  3. 在「Create New Class」對話方塊中,填寫下列欄位:
    • 名稱 - 新類別或類型的名稱。務必遵守 Java 名稱規定。請勿輸入檔案副檔名。
    • 類型:選取類別或類型的分類。
    • 父類別:新類別承自的類別。您可以輸入套件和類別名稱,也可以只輸入類別名稱,然後按兩下下拉式清單中的項目來自動完成。
    • 介面 - 新類別或類型實作的一或多個介面。如有多個介面,請以逗號分隔,逗號後可有選用的空格。您可以輸入套件和介面名稱,也可以只輸入介面名稱,然後按兩下下拉式清單中的項目來自動完成。
    • 自動完成功能僅適用於第一個介面名稱。請注意,雖然逗號和下列介面名稱可能會產生工具提示錯誤,但您可以忽略這項錯誤,因為這不影響產生的程式碼。

    • 「Package」:類別或類型所在的套件。預設值會自動顯示在欄位中。如果您在欄位中輸入套件名稱,則套件 ID 中任何不存在的部分會以紅色醒目顯示;在此情況下,Android Studio 會在您按一下「OK」後建立套件。此欄位必須包含值,否則 Java 檔案不會包含 package 陳述式,且類別或類型不會放入專案的套件中。
    • 預設取決於您啟動「Create New Class」對話方塊的方式。如果您是第一次在「Project」視窗中選取 Java 檔案或資料夾,則預設為所選項目的套件。如果您是第一次在程式碼編輯器中點選 Java 檔案,則預設為包含此檔案的套件。

    • 瀏覽權限:選取類別或類型是否向所有類別顯示,或只向其所屬套件顯示。
    • 「Modifiers」:為「Class」選取「Abstract」或「Final」修飾符,或都不選取。
    • 「Show Select Overrides Dialog」:為「Class」的「Kind」勾選此選項,即可在按一下「OK」後,開啟「Select Methods to Override/Implement」對話方塊。在此對話方塊中,您可以選取要覆寫或實作的方法,Android Studio 也會針對這些方法產生基本架構程式碼。

    任何不適用於「Kind」的欄位都會隱藏。

  4. 按一下「OK」
  5. Android Studio 會建立具備基本架構程式碼且您可以修改的 Java 檔案。這會在程式碼編輯器中開啟檔案。

注意:如要建立單例模式類別,可以依序選取「File」>「New」>「Singleton」,或是依序選取「File」>「New」>「Java Class」。第二種做法可提供更多選項。

Android Studio 檔案範本

本節列出以 VTL 指令碼語言編寫的 Android Studio 檔案範本程式碼,其後是變數的定義。您在「Create New Class」對話方塊中提供的值,會成為範本中的變數值。請注意,開頭為 #if (${VISIBILITY} 的行會一路延伸到左括號 ({ )。

AnnotationType 檔案範本

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end @interface ${NAME} #if (${INTERFACES} != "")extends ${INTERFACES} #end {
}

類別檔案範本

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end #if (${ABSTRACT} == "TRUE")abstract #end #if (${FINAL} == "TRUE")final #end class ${NAME} #if (${SUPERCLASS} != "")extends ${SUPERCLASS} #end #if (${INTERFACES} != "")implements ${INTERFACES} #end {
}

列舉檔案範本

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end enum ${NAME} #if (${INTERFACES} != "")implements ${INTERFACES} #end {
}

介面檔案範本

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end enum ${NAME} #if (${INTERFACES} != "")implements ${INTERFACES} #end {
#end {
}

單例模式檔案範本

#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

#if (${IMPORT_BLOCK} != "")${IMPORT_BLOCK}
#end
#parse("File Header.java")

#if (${VISIBILITY} == "PUBLIC")public #end class ${NAME} #if (${SUPERCLASS} != "")extends ${SUPERCLASS} #end #if (${INTERFACES} != "")implements ${INTERFACES} #end {
    private static final ${NAME} ourInstance = new ${NAME}();

    #if (${VISIBILITY} == "PUBLIC")public #end static ${NAME} getInstance() {
        return ourInstance;
    }

    private ${NAME}() {
    }
}

檔案範本變數

Android Studio 會將檔案範本變數換成產生的 Java 檔案中的值。您可以在「Create New Class」對話方塊中輸入值。範本提供下列您可以使用的變數:

  • IMPORT_BLOCK- 以新行符號分隔的 Java import 陳述式清單必須支援任何父類別、介面或空白字串 ("")。舉例來說,如果您只實作 Runnable 介面並且沒有擴充任何內容,此變數將會是 "import java.lang.Runnable;\n"。如果您實作 Runnable 介面並擴充 Activity 類別,這將會是 "import android.app.Activity;\nimportjava.lang.Runnable;\n"
  • VISIBILITY - 類別是否會有公開存取權。其值可以是 PUBLICPACKAGE_PRIVATE
  • SUPERCLASS - 單一類別名稱或空白。如果存在,則新類別名稱之後會有一個 extends ${SUPERCLASS} 子句。
  • INTERFACES - 以逗號分隔的介面清單,或是空白。如果存在,則在父類別之後將會有 implements ${INTERFACES} 子句,或者如果沒有父類別,則會在類別名稱之後。對於介面和註解類型,介面會有 extends 關鍵字。
  • ABSTRACT - 類別是否應提供摘要。其值可以是 TRUEFALSE
  • FINAL - 類別是否應為最終。其值可以是 TRUEFALSE