我有两个类和一个接口(例如DatabaseModel
、LocalStore
和 InternalModelInterface)。它们的定义如下;
public class DatabaseModel {
// ...
public static final String KEY_PARAM1 = "param1";
}
public class LocalStore implements InternalModelInterface {
// ...
public void function () {
String temp = InternalModelInterface.COLUMN_PARAM1;
}
}
public interface InternalModelInterface {
public static final String COLUMN_PARAM1 = DatabaseModel.KEY_PARAM1;
// ...
}
我遇到的问题是,在运行时,当我调用时localStore.function()
, temp 被分配为 null,就像InternalModelInterface.COLUMN_PARAM1
null 一样。这有意义吗?不InternalModelInterface.COLUMN_PARAM1
应该在编译时评估和内联吗?
这适用于 Android 应用程序。提前致谢。
我将进一步解释以澄清任何混淆。
类的对象在DatabaseModel
解析 JSON 响应时被实例化。类中定义的常量DatabaseModel
表示要在 JSON 响应中查找的键。
定义设备上本地(缓存)数据库中使用的InternalModelInterface
列名。由于几个原因(包括它们的键是 SQLite 中的非法列名),我没有将键重用为列名。
我使用接口而不只是普通类的原因是接口还指定了需要由第三个类 LocalStore 实现的所需方法。