ความหมายที่ตั้งใจไว้ของ "วัตถุร่วม" คืออะไร? จนถึงตอนนี้ฉันได้ใช้มันเพื่อแทนที่ Java static
เมื่อฉันต้องการมัน
ฉันสับสนกับ:
- ทำไมถึงเรียกว่า "สหาย"
- การสร้างคุณสมบัติสแตติกหลายอันหมายความว่าฉันต้องรวมกลุ่มเข้าด้วยกันใน
companion object
บล็อกหรือไม่ - เมื่อต้องการสร้างอินสแตนซ์ซิงเกิลที่กำหนดขอบเขตไว้กับชั้นเรียนฉันมักจะเขียน
:
companion object {
val singleton by lazy { ... }
}
ซึ่งดูเหมือนว่าเป็นวิธีการที่ไม่มีความหมายในการทำ วิธีที่ดีกว่าคืออะไร