2013-02-09 43 views
6

Tôi có lớp Kotlin có đối tượng lớp, ví dụ:Truy cập đối tượng lớp Kotlin từ Java

public class Foo { 
    public class object { 
     public val SomeValue : Int = 0 
    } 
} 

Nếu tôi đang sử dụng lớp này từ Java, làm cách nào để truy cập SomeValue bên trong đối tượng lớp học? Nếu nó là một lớp Java với một thuộc tính tĩnh, tôi chỉ sử dụng Foo.SomeValue - nhưng tôi không thể làm điều đó ở đây.

IntellIJ cho thấy rằng tôi có thể truy cập Foo.object.$instance, nhưng $instance không có getSomeValue hoặc bất kỳ thứ gì tương tự. Nếu tôi cố gắng sử dụng $ instance.SomeValue dù sao, khi tôi xây dựng được thông báo lỗi nói:

someValue có quyền truy cập riêng trong Foo.object

Tôi đang sử dụng Kotlin 0.5.1.

+0

Bạn cũng có thể làm cho nó '@ JvmStatic' cho phép nó được truy cập như một thành viên tĩnh của lớp' Foo'. Xem tài liệu đầy đủ về khả năng tương tác từ Java tới Kotlin https://kotlinlang.org/docs/reference/java-to-kotlin-interop.html#static-methods-and-fields –

Trả lời

Các vấn đề liên quan