สร้างคลาสหรือประเภท Java

Android Studio ช่วยให้คุณสร้างคลาสและประเภทใหม่ต่อไปนี้ได้อย่างรวดเร็วด้วยกล่องโต้ตอบสร้างคลาสใหม่และเทมเพลตไฟล์

  • คลาส Java
  • คลาสการแจงนับและคลาส Singleton
  • ประเภทอินเทอร์เฟซและคําอธิบายประกอบ

หลังจากกรอกข้อมูลในช่องโต้ตอบสร้างคลาสใหม่ แล้วคลิกตกลง Android Studio จะสร้างไฟล์ .java ที่มีโค้ดโครงร่าง ซึ่งรวมถึงคำสั่งแพ็กเกจ การนําเข้าที่จําเป็น ส่วนหัว และการประกาศคลาสหรือประเภท จากนั้นเพิ่มโค้ดลงในไฟล์นี้

เทมเพลตไฟล์จะระบุวิธีที่ Android Studio สร้างโค้ดโครงร่าง คุณสามารถใช้เทมเพลตไฟล์ที่มาพร้อมกับ Android Studio ตามที่ให้มา หรือจะปรับแต่งให้เหมาะกับกระบวนการพัฒนาของคุณก็ได้

การดูและปรับแต่งเทมเพลตไฟล์

Android Studio มีเทมเพลตไฟล์ที่กำหนดวิธีสร้างคลาสและประเภท Java ใหม่ด้วยกล่องโต้ตอบสร้างคลาสใหม่ คุณสามารถปรับแต่งเทมเพลตเหล่านี้ได้

กล่องโต้ตอบสร้างชั้นเรียนใหม่

รูปที่ 1 กล่องโต้ตอบสร้างชั้นเรียนใหม่

เทมเพลตไฟล์ Android Studio มีโค้ดภาษาเทมเพลต Velocity (VTL) และตัวแปรที่จัดการตัวเลือกเพิ่มเติมเหล่านี้ กล่องโต้ตอบสร้างคลาสใหม่ใช้เทมเพลตไฟล์ AnnotationType, Class, Enum, Interface และ Singleton

หากต้องการดูเทมเพลต ค้นหาการปรับแต่ง และแก้ไขเทมเพลต ให้ทําตามขั้นตอนต่อไปนี้

  1. ทำสิ่งใดสิ่งหนึ่งต่อไปนี้

    • สําหรับ Windows หรือ Linux ให้เลือกไฟล์ > การตั้งค่า > เครื่องมือแก้ไข > ไฟล์และโค้ด เทมเพลต > ไฟล์
    • สำหรับ macOS ให้เลือก Android Studio > ค่ากําหนด > เครื่องมือแก้ไข > ไฟล์และโค้ด เทมเพลต > ไฟล์

    ในรายการเทมเพลต ชื่อเทมเพลตภายในจะเป็นแบบตัวหนา ชื่อเทมเพลตที่กําหนดเองจะแสดงเป็นสีไฮไลต์ เช่น สีน้ำเงิน

  2. ปรับแต่งเทมเพลตไฟล์ตามต้องการ

    หากต้องการใช้ช่องในกล่องโต้ตอบสร้างคลาสใหม่ โปรดตรวจสอบว่าการเปลี่ยนแปลงเป็นไปตามโค้ดเทมเพลตไฟล์ Android Studio

ดูข้อมูลเพิ่มเติมเกี่ยวกับเทมเพลตไฟล์ รวมถึง VTL ได้ที่เทมเพลตไฟล์และโค้ดและกล่องโต้ตอบเทมเพลตไฟล์และโค้ด

การสร้างคลาสหรือประเภท Java

Android Studio ช่วยคุณสร้างคลาส Java ใหม่ คลาสการแจกแจงและคลาส Singleton รวมถึงประเภทอินเทอร์เฟซและคำอธิบายประกอบตามเทมเพลตไฟล์

วิธีสร้างคลาสหรือประเภท Java ใหม่มีดังนี้

  1. ในหน้าต่างโปรเจ็กต์ ให้คลิกขวาที่ไฟล์หรือโฟลเดอร์ Java แล้วเลือกใหม่ > คลาส Java
  2. หรือเลือกไฟล์หรือโฟลเดอร์ Java ในหน้าต่างโปรเจ็กต์ หรือคลิกในไฟล์ Java ในเครื่องมือแก้ไขโค้ด จากนั้นเลือกไฟล์ > ใหม่ > คลาส Java

    รายการที่คุณเลือกจะเป็นตัวกำหนดแพ็กเกจเริ่มต้นสำหรับคลาสหรือประเภทใหม่

  3. ในกล่องโต้ตอบสร้างชั้นเรียนใหม่ ให้กรอกข้อมูลในช่องต่อไปนี้
    • ชื่อ - ชื่อของคลาสหรือประเภทใหม่ โดยต้องเป็นไปตามข้อกำหนดเกี่ยวกับชื่อ Java อย่าพิมพ์นามสกุลไฟล์
    • ประเภท - เลือกหมวดหมู่ของชั้นเรียนหรือประเภท
    • Superclass - ชั้นเรียนที่ชั้นเรียนใหม่รับค่ามา คุณสามารถพิมพ์ชื่อแพ็กเกจและชื่อคลาส หรือแค่ชื่อคลาส แล้วดับเบิลคลิกรายการในรายการแบบเลื่อนลงเพื่อเติมข้อความอัตโนมัติ
    • อินเทอร์เฟซ - อินเทอร์เฟซอย่างน้อย 1 รายการที่คลาสหรือประเภทใหม่นำมาใช้ หากมีหลายอินเทอร์เฟซ ให้คั่นด้วยคอมมาตามด้วยเว้นวรรค (ไม่บังคับ) คุณสามารถพิมพ์ชื่อแพ็กเกจและอินเทอร์เฟซ หรือจะพิมพ์แค่ชื่ออินเทอร์เฟซก็ได้ จากนั้นดับเบิลคลิกรายการในรายการแบบเลื่อนลงเพื่อเติมข้อความให้สมบูรณ์
    • การเติมข้อความอัตโนมัติใช้ได้กับชื่ออินเทอร์เฟซแรกเท่านั้น โปรดทราบว่าแม้เครื่องหมายคอมมาและชื่ออินเทอร์เฟซต่อไปนี้อาจทำให้เกิดข้อผิดพลาดของเคล็ดลับเครื่องมือ แต่คุณก็ไม่ต้องสนใจข้อผิดพลาดดังกล่าวได้ เนื่องจากไม่ส่งผลต่อโค้ดที่สร้างขึ้น

    • แพ็กเกจ - แพ็กเกจที่คลาสหรือประเภทจะอยู่ในนั้น ค่าเริ่มต้นจะปรากฏในช่องโดยอัตโนมัติ หากคุณพิมพ์ชื่อแพ็กเกจในช่อง ระบบจะไฮไลต์ส่วนที่ไม่มีอยู่ของตัวระบุแพ็กเกจเป็นสีแดง ในกรณีนี้ Android Studio จะสร้างแพ็กเกจหลังจากที่คุณคลิกตกลง ช่องนี้ต้องมีค่า มิฉะนั้นไฟล์ Java จะไม่มีคำสั่ง package และคลาสหรือประเภทจะไม่อยู่ในแพ็กเกจในโปรเจ็กต์
    • โดยค่าเริ่มต้นจะขึ้นอยู่กับวิธีที่คุณเปิดกล่องโต้ตอบสร้างชั้นเรียนใหม่ หากคุณเลือกไฟล์หรือโฟลเดอร์ Java ในหน้าต่างโปรเจ็กต์เป็นครั้งแรก ค่าเริ่มต้นจะเป็นแพ็กเกจของรายการที่คุณเลือก หากคุณคลิกไฟล์ Java ในเครื่องมือแก้ไขโค้ดเป็นครั้งแรก แพ็กเกจที่มีไฟล์นี้จะแสดงเป็นค่าเริ่มต้น

    • ระดับการแชร์ - เลือกว่าต้องการให้ชั้นเรียนหรือประเภทนั้นปรากฏแก่ชั้นเรียนทั้งหมด หรือเฉพาะชั้นเรียนในแพ็กเกจของชั้นเรียนนั้น
    • ตัวแก้ไข - เลือกตัวแก้ไขนามธรรมหรือสุดท้ายสําหรับคลาส หรือไม่เลือกเลย
    • แสดงกล่องโต้ตอบเลือกการลบล้าง - สําหรับประเภทคลาส ให้เลือกตัวเลือกนี้เพื่อเปิดกล่องโต้ตอบเลือกวิธีการลบล้าง/ติดตั้งใช้งานหลังจากคลิกตกลง ในกล่องโต้ตอบนี้ คุณสามารถเลือกเมธอดที่ต้องการลบล้างหรือติดตั้งใช้งาน และ Android Studio จะสร้างโค้ดโครงสำหรับเมธอดเหล่านี้

    ระบบจะซ่อนช่องที่ไม่เกี่ยวข้องกับประเภท

  4. คลิกตกลง
  5. Android Studio จะสร้างไฟล์ Java ที่มีโค้ดโครงร่างที่คุณแก้ไขได้ ซึ่งจะเปิดไฟล์ในตัวแก้ไขโค้ด

หมายเหตุ: คุณสามารถสร้างคลาส Singleton ได้โดยเลือกไฟล์ > ใหม่ > Singleton หรือไฟล์ > ใหม่ > คลาส Java โดยเทคนิคหลังจะมีตัวเลือกเพิ่มเติม

เทมเพลตไฟล์ Android Studio

ส่วนนี้จะแสดงโค้ดเทมเพลตไฟล์ Android Studio ที่เขียนด้วยภาษาสคริปต์ VTL ตามด้วยคำจำกัดความของตัวแปร ค่าที่คุณระบุในกล่องโต้ตอบสร้างชั้นเรียนใหม่จะกลายเป็นค่าตัวแปรในเทมเพลต โปรดทราบว่าบรรทัดที่ขึ้นต้นด้วย #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 {
}

เทมเพลตไฟล์ Enum

#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 {
}

เทมเพลตไฟล์ Singleton

#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 ที่สร้างขึ้น โดยป้อนค่าในกล่องโต้ตอบสร้างชั้นเรียนใหม่ เทมเพลตนี้มีตัวแปรต่อไปนี้ที่คุณใช้ได้

  • 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