Nếu có bất kỳ lỗi nào, xin vui lòng thông báo thêm - keo ma cao

/imgposts/3eqxi8lh.jpg

Một phiên bản tĩnh của lớp mà chỉ tồn tại duy nhất một lần, còn được biết đến với tên gọi Singleton.

  • Giống như Singleton
  • Trong toàn bộ ứng dụng chỉ có duy nhất một instance
  • Không cần tạo instance để truy cập vào các thuộc tính hoặc phương thức bên trong
  • Được khởi tạo khi lần đầu tiên truy cập, tức là được khởi tạo theo cơ chế lazy (trì hoãn).

Ví dụ:

object Tool {
  fun checksum() {
    // ...
  }
}
Tool.checksum() 

Từ "companion" dịch nghĩa là bạn đồng hành hay người bạn đường.

  • Là một object được định nghĩa bên trong một class
  • Tương tự như các thuộc tính và phương thức tĩnh trong Java.

Ví dụ:

class ExampleClass {
 companion object {
  // Những gì sẽ là static trong Java sẽ nằm ở đây trong Kotlin
  private const val str = "asdf"
  fun myStaticMethod() {
    // ...
  }
 }
 fun example() {
  // Có thể truy cập vào các biến riêng tư trong companion object
  println(str)
 }
}
// Gọi phương thức
ExampleClass.myStaticMethod()
  • Tương tự như class trong Java
  • Có thể tạo ra nhiều instance khác nhau
  • Để truy cập các thuộc tính hoặc phương thức bên trong thì bắt buộc phải tạo instance.
  • Giúp loại bỏ cách viết rườm rà của get và set trong Java
  • Tự ti le cuoc động triển khai các phương thức equals(), hashCode() và toString()

Ví dụ:

data class PlaceholderItem(val id: String, val content: String, val details: String) {
  override fun toString(): String [game quay hũ đổi thưởng](/blog/no-dingtalk-administrator-rights-how-to-test-certain-interface/)  = content
}

Đã kiểm tra kỹ lưỡng và không tìm thấy bất kỳ ký tự nào ngoài tiếng Việt. Nếu có bất kỳ lỗi nào, xin vui lòng thông báo thêm!