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

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

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

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

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

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

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

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

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

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

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

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

    • สำหรับ Windows หรือ Linux ให้เลือกไฟล์ > การตั้งค่า > เอดิเตอร์ > เทมเพลตไฟล์และโค้ด > ไฟล์
    • สำหรับ macOS ให้เลือก Android Studio > Preferences > Editor > File and Code Templates > Files

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

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

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

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

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

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

หากต้องการสร้างคลาสหรือประเภท Java ใหม่ ให้ทำตามขั้นตอนต่อไปนี้

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

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

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

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

    • ระดับการมองเห็น - เลือกว่าชั้นเรียนหรือประเภทจะแสดงต่อ ชั้นเรียนทั้งหมด หรือเฉพาะชั้นเรียนในแพ็กเกจของชั้นเรียนนั้น
    • ตัวแก้ไข - เลือกตัวแก้ไข Abstract หรือ Final สำหรับ Class หรือไม่เลือกเลย
    • แสดงกล่องโต้ตอบเลือกการลบล้าง - สำหรับ Kind ของ Class ให้เลือกตัวเลือกนี้เพื่อเปิดเลือก กล่องโต้ตอบวิธีการลบล้าง/ใช้หลังจากคลิกตกลง ในกล่องโต้ตอบนี้ คุณสามารถเลือกเมธอดที่ต้องการลบล้างหรือ ใช้ และ 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 - รายการคำสั่ง Java import ที่คั่นด้วยบรรทัดใหม่ซึ่งจำเป็นต่อการรองรับคลาสแม่หรือ อินเทอร์เฟซ หรือสตริงว่าง ("") เช่น หากคุณใช้เฉพาะอินเทอร์เฟซ 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 - ระบุว่าคลาสควรเป็นคลาส Abstract หรือไม่ โดยมีค่าเป็น TRUE หรือ FALSE ได้
  • FINAL - ควรรวมชั้นเรียนเป็นชั้นเรียนสุดท้ายหรือไม่ โดยมีค่าเป็น TRUE หรือ FALSE ได้