透過「Create New Class」對話方塊和檔案範本,Android Studio 可協助您快速建立下列新的類別和類型:
- Java 類別
- 列舉和單例模式類別
- 介面和註解類型
填寫「Create New Class」對話方塊欄位後,按一下「OK」,Android Studio 就會建立包含基本架構程式碼的 .java
檔案,包括套件陳述式、任何必要匯入內容、標頭,以及類別或類型宣告。接下來,您可以將程式碼新增至此檔案。
檔案範本會指定 Android Studio 產生基本架構程式碼的方式。您可以直接使用 Android Studio 提供的檔案範本,或自訂各檔案範本以配合您的開發程序。
檢視及自訂檔案範本
Android Studio 提供檔案範本,範本透過「建立新類別」對話方塊決定如何建立新的 Java 類別和類型。您可以自訂這些範本。
Android Studio 檔案範本包含速率範本語言 (VTL) 程式碼,以及處理這些額外選項的變數。「Create New Class」對話方塊會使用 AnnotationType、Class、Enum、Interface 和 Singleton 檔案範本。
如要檢視範本、尋找自訂內容及修改範本,請按照下列步驟操作:
請執行下列任一步驟:
- 對於 Windows 或 Linux,請依序選取「File」>「Settings」>「Editor」>「File and Code Templates」>「Files」。
- 若是 macOS,請依序選取「Android Studio」>「Preferences」>「Editor」>「File and Code Templates」>「Files」。
在「範本清單」中,內部範本名稱將以粗體顯示。自訂範本名稱以醒目顯示的顏色 (例如藍色) 顯示。
視需要自訂檔案範本。
如要使用「Create New Class」對話方塊,請確認您的變更符合「Android Studio 檔案範本程式碼」。
如需更多關於檔案範本 (包括 VTL) 的資訊,請參閱檔案和程式碼範本和檔案和程式碼範本對話方塊。
建立 Java 類別或類型
Android Studio 可協助您建立新的 Java 類別;列舉和單例模式類別;以及以檔案範本為基礎的介面和註解類型。
如要建立新的 Java 類別或類型,請按照下列步驟操作:
- 在「Project」視窗中,對 Java 檔案或資料夾按一下滑鼠右鍵,然後依序選取「New」>「Java Class」。
- 在「Create New Class」對話方塊中,填寫下列欄位:
- 名稱 - 新類別或類型的名稱。務必遵守 Java 名稱規定。請勿輸入檔案副檔名。
- 類型:選取類別或類型的分類。
- 父類別:新類別承自的類別。您可以輸入套件和類別名稱,也可以只輸入類別名稱,然後按兩下下拉式清單中的項目來自動完成。
- 介面 - 新類別或類型實作的一或多個介面。如有多個介面,請以逗號分隔,逗號後可有選用的空格。您可以輸入套件和介面名稱,也可以只輸入介面名稱,然後按兩下下拉式清單中的項目來自動完成。
- 「Package」:類別或類型所在的套件。預設值會自動顯示在欄位中。如果您在欄位中輸入套件名稱,則套件 ID 中任何不存在的部分會以紅色醒目顯示;在此情況下,Android Studio 會在您按一下「OK」後建立套件。此欄位必須包含值,否則 Java 檔案不會包含
package
陳述式,且類別或類型不會放入專案的套件中。 - 瀏覽權限:選取類別或類型是否向所有類別顯示,或只向其所屬套件顯示。
- 「Modifiers」:為「Class」選取「Abstract」或「Final」修飾符,或都不選取。
- 「Show Select Overrides Dialog」:為「Class」的「Kind」勾選此選項,即可在按一下「OK」後,開啟「Select Methods to Override/Implement」對話方塊。在此對話方塊中,您可以選取要覆寫或實作的方法,Android Studio 也會針對這些方法產生基本架構程式碼。
- 按一下「OK」。
您也可以選擇在「Project」視窗中選取 Java 檔案或資料夾,或者在程式碼編輯器中按一下 Java 檔案。然後依序選取「File」>「New」>「Java Class」。
您選取的項目會決定新類別或類型的預設套件。
自動完成功能僅適用於第一個介面名稱。請注意,雖然逗號和下列介面名稱可能會產生工具提示錯誤,但您可以忽略這項錯誤,因為這不影響產生的程式碼。
預設取決於您啟動「Create New Class」對話方塊的方式。如果您是第一次在「Project」視窗中選取 Java 檔案或資料夾,則預設為所選項目的套件。如果您是第一次在程式碼編輯器中點選 Java 檔案,則預設為包含此檔案的套件。
任何不適用於「Kind」的欄位都會隱藏。
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
- 以新行符號分隔的 Javaimport
陳述式清單必須支援任何父類別、介面或空白字串 (""
)。舉例來說,如果您只實作Runnable
介面並且沒有擴充任何內容,此變數將會是"import java.lang.Runnable;\n"
。如果您實作Runnable
介面並擴充Activity
類別,這將會是"import android.app.Activity;\nimportjava.lang.Runnable;\n"
。VISIBILITY
- 類別是否會有公開存取權。其值可以是PUBLIC
或PACKAGE_PRIVATE
。SUPERCLASS
- 單一類別名稱或空白。如果存在,則新類別名稱之後會有一個extends ${SUPERCLASS}
子句。INTERFACES
- 以逗號分隔的介面清單,或是空白。如果存在,則在父類別之後將會有implements ${INTERFACES}
子句,或者如果沒有父類別,則會在類別名稱之後。對於介面和註解類型,介面會有extends
關鍵字。ABSTRACT
- 類別是否應提供摘要。其值可以是TRUE
或FALSE
。FINAL
- 類別是否應為最終。其值可以是TRUE
或FALSE
。