Прежде всего, Manager
(класс Kotlin) наследуется от JavaPlugin
(класс Java). Этот класс JavaPlugin содержит метод получения getPlugin(Class<T>)
.
Класс менеджера:
class Manager : JavaPlugin() {
companion object {
[more code...]
lateinit var plugin: Manager
private set
}
[more code...]
}
Теперь вернемся к любому другому Java классу (мой проект смешан между двумя языками), который я хочу для вызова Manager.getPlugin()
, но в Java остается только метод из класса JavaPlugin
, который был унаследован. В файлах Kotlin я могу получить переменную плагина, но в файлах Java я не могу понять, как это возможно.
Я знаю, что теперь могу использовать Manager.Companion.getPlugin()
, но Я не хочу менять мой старый Java код (который содержит старый вызов stati c Manager.getPlugin()
).
Я просто ошибаюсь здесь с объектом-компаньоном и должен что-то использовать отличается, чтобы подражать моей старой переменной stati c с помощью getti stati c? (Я читал, что вы можете разместить переменные вне класса, но я не понял, как получить доступ к этим переменным под именем Manager
(это работало только с ManagerKt
).)