Я очень новичок в Kotlin, я пытался перенести свой Java-проект на Kotlin, и я столкнулся с проблемой, когда я не могу получить доступ к неявным унаследованным членам из моего класса.
В Java у меня был класс с именем Robot.java
, который простирается от TimedRobot.java
, а внутри TimedRobot.java
есть статический член двойного типа
public class Robot extends TimedRobot {
}
TimedRobot.java
из библиотеки:
public class TimedRobot extends IterativeRobotBase {
public static final double DEFAULT_PERIOD = 0.02;
private double m_period = DEFAULT_PERIOD;
...
}
В том же пакете, что и Robot.java
, у меня есть класс с именем RobotConstants.java
, который содержит некоторые числа. Несмотря на то, что в моем классе роботов не было переменной с именем DEFAULT_PERIOD
, я мог вызывать ее извне так:
public class RobotConstants {
public static final int PERIOD_IN_MS = (int)(Robot.DEFAULT_PERIOD * 1000);
...
}
Однако я не могу сделать это в kotlin.
Мой класс роботов в Котлине:
class Robot : TimedRobot() {
}
И я не могу получить период по умолчанию в моем объекте констант в kotlin, это дает мне ошибку времени компиляции. Вот что я пытаюсь сделать:
object RobotConstants {
const val PERIOD_Ms = (Robot.DEFAULT_PERIOD * 1000).toInt()
...
}