ลักษณะการทำงานของคำอธิบายประกอบ @JvmStatic จะอธิบายในรายละเอียดในเอกสารประกอบ เมื่ออ่านเอกสารประกอบคุณควรสมมติว่าข้อมูลทั้งหมดที่สำคัญและความแตกต่างของลักษณะการทำงานที่ไม่ได้ระบุไว้ในเอกสารประกอบไม่มีอยู่
ในกรณีนี้เอกสารบอกว่า "ถ้าคุณใช้คำอธิบายประกอบนี้คอมไพเลอร์จะสร้างทั้งสองวิธีคงที่ในคลาสล้อมรอบของวัตถุและวิธีการอินสแตนซ์ในอ็อบเจ็กต์" #:. กล่าวอีกนัยหนึ่งผลของคำอธิบายประกอบคือบอกคอมไพเลอร์สร้างวิธีการเพิ่มเติม
เอกสารระบุว่ามีความแตกต่างในพฤติกรรมหรือการจัดสรรหน่วยความจำหรือไม่? มันไม่ใช่. ดังนั้นจึงปลอดภัยที่จะสมมติว่าไม่มี
มีการตั้งค่าที่จะใช้? โดยปกติ API จะประกาศในที่เดียวและใช้จากที่ต่างๆ หากคุณกำลังเรียกใช้เมธอดจาก Java คุณควรประกาศว่าเป็น @JvmStatic เนื่องจากการเพิ่มคำอธิบายประกอบ @JvmStatic ในที่เดียวจะช่วยให้คุณสามารถละเว้นการอ้างอิงต่างๆในหลาย ๆ ที่
ทำทั้งสองสร้างวัตถุ singleton คงที่หลอกเช่น Java คงไม่? คำถามนี้ไม่สมเหตุสมผลเนื่องจาก Java static ไม่ได้สร้าง "object singleton static แบบคงที่" ถ้าคุณประกาศวิธีคงที่ในคลาส Java และเรียกใช้เมธอดนี้จะไม่มีการสร้างอ็อบเจ็กต์
ref:https://stackoverflow.com/questions/48780003/why-and-when-to-use-jvmstatic-with-companion-objects
ในกรณีนี้เอกสารบอกว่า "ถ้าคุณใช้คำอธิบายประกอบนี้คอมไพเลอร์จะสร้างทั้งสองวิธีคงที่ในคลาสล้อมรอบของวัตถุและวิธีการอินสแตนซ์ในอ็อบเจ็กต์" #:. กล่าวอีกนัยหนึ่งผลของคำอธิบายประกอบคือบอกคอมไพเลอร์สร้างวิธีการเพิ่มเติม
เอกสารระบุว่ามีความแตกต่างในพฤติกรรมหรือการจัดสรรหน่วยความจำหรือไม่? มันไม่ใช่. ดังนั้นจึงปลอดภัยที่จะสมมติว่าไม่มี
มีการตั้งค่าที่จะใช้? โดยปกติ API จะประกาศในที่เดียวและใช้จากที่ต่างๆ หากคุณกำลังเรียกใช้เมธอดจาก Java คุณควรประกาศว่าเป็น @JvmStatic เนื่องจากการเพิ่มคำอธิบายประกอบ @JvmStatic ในที่เดียวจะช่วยให้คุณสามารถละเว้นการอ้างอิงต่างๆในหลาย ๆ ที่
ทำทั้งสองสร้างวัตถุ singleton คงที่หลอกเช่น Java คงไม่? คำถามนี้ไม่สมเหตุสมผลเนื่องจาก Java static ไม่ได้สร้าง "object singleton static แบบคงที่" ถ้าคุณประกาศวิธีคงที่ในคลาส Java และเรียกใช้เมธอดนี้จะไม่มีการสร้างอ็อบเจ็กต์
ref:https://stackoverflow.com/questions/48780003/why-and-when-to-use-jvmstatic-with-companion-objects
ความคิดเห็น
แสดงความคิดเห็น