Có vẻ mà bạn muốn xác định một đối tượng singleton. Nó được hỗ trợ trong Kotlin như là một khái niệm hạng nhất:
object Foo {
...
}
Tất cả mã boilerplate với trường tĩnh và hàm tạo được Kotlin tự động quan tâm. Bạn không cần phải viết bất cứ điều gì.
Từ mã Kotlin, bạn có thể tham chiếu đến cá thể của đối tượng này chỉ đơn giản là Foo
. Từ mã Java, bạn có thể tham chiếu đến cá thể của đối tượng này là Foo.INSTANCE
, vì trình biên dịch Kotlin tự động tạo ra trường tĩnh tương ứng có tên là INSTANCE
.
Nguồn
2017-10-18 03:55:50
https://kotlinlang.org/docs/reference/classes.html#companion-objects. Nhưng điều đó có vẻ khủng khiếp với tôi.Tại sao bạn muốn sử dụng một trường tĩnh có thể thay đổi (thực hành xấu), và sửa đổi nó mỗi khi bạn xây dựng một thể hiện của Foo? Bạn đang cố gắng đạt được điều gì? –
Nếu bạn muốn tạo một singleton, hãy xem https://kotlinlang.org/docs/reference/object-declarations.html#object-declarations. –