2016-12-08 37 views
8

Tôi thấy mối quan tâm gần đây về Kotlin là ngôn ngữ, vì nền tảng chúng tôi phát triển là dựa trên Java 6 và do đó thiếu bất kỳ cú pháp cú pháp nào trong những năm gần đây được đưa vào Java. Có một điều mà làm cho nó không thể sử dụng Kotlin trên Java trong phát triển, đó là, nền tảng chúng tôi phát triển để sử dụng một số phản ánh nội bộ và yêu cầu các thành viên được công khai. Nó sẽ không hoạt động nếu không.Các trường công khai cho khả năng tương thích Java

Vì vậy, bytecode được tạo từ tệp Kotlin trên thực tế tạo ra các getters và setters công khai, các trường vẫn chưa được giữ riêng tư.

Có cách nào để khắc phục điều này, vì vậy tôi có được trường công khai thực không?

Tôi biết về lỗi thiết kế yêu cầu trường công khai, nhưng hệ thống là loại hộp đen đối với chúng tôi, chúng tôi không thể thay đổi thực tế là nó phải theo cách này.

+5

Chú thích '@ JvmField' có thể phù hợp với bạn không? – marstran

+0

Đúng rồi! Ngọt! Quá dễ. Cảm ơn nhiều! –

+0

Theo https://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html, "thành viên" đề cập đến cả hai, phương pháp và các trường. Những gì bạn có thể có nghĩa là "lĩnh vực". Tôi đã chỉnh sửa câu hỏi. –

Trả lời

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