Câu hỏi phỏng vấn Kotlin
Câu hỏi

Làm thế nào để tạo phương thức...

Câu trả lời

Trong Kotlin, các enum class không hỗ trợ trực tiếp các phương thức tĩnh như trong Java, vì Kotlin không có từ khóa static. Tuy nhiên, bạn có thể sử dụng một companion object bên trong enum class để đạt được hành vi tương tự như phương thức tĩnh. Companion object cho phép bạn định nghĩa các phương thức và thuộc tính mà bạn có thể truy cập mà không cần một thể hiện của enum.

Dưới đây là một ví dụ về cách tạo một phương thức "tĩnh" trong một enum class trong Kotlin:

Ví dụ về Enum Class với Companion Object

kotlin Copy
enum class Planet(val mass: Double, val radius: Double) {
    MERCURY(3.303e+23, 2.4397e6),
    VENUS(4.869e+24, 6.0518e6),
    EARTH(5.976e+24, 6.37814e6),
    MARS(6.421e+23, 3.3972e6),
    JUPITER(1.9e+27, 7.1492e7),
    SATURN(5.688e+26, 6.0268e7),
    URANUS(8.686e+25, 2.5559e7),
    NEPTUNE(1.024e+26, 2.4746e7);

    companion object {
        fun getLargestPlanet(): Planet {
            return values().maxByOrNull { it.radius } ?: EARTH
        }
    }
}

fun main() {
    val largestPlane...
senior

senior

Gợi ý câu hỏi phỏng vấn

expert

Tại sao chúng ta sử dụng companion object như một loại thay thế cho các trường static của Java trong Kotlin?

middle

Cách thông thường để loại bỏ chuỗi trùng lặp khỏi mảng trong Kotlin là gì?

middle

Các hàm phạm vi trong Kotlin là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào