【发布时间】:2011-09-16 20:15:37
【问题描述】:
我开发移动应用程序(Android、J2ME),想知道以下步骤是否可行:
- 假设应用程序必须在支持 J2ME 的平台上运行
- 该平台包含一些特定于平台的 API,例如诺基亚手机上的 NokiaUI。 API 中包含的一些类实现了 API 中也包含的接口。
- 平台制造商为 API 提供完整的 javadoc,以及模拟器和类路径库。 API 中包含的所有接口定义都是已知的,因为它们存在于 javadoc 中。
- 创建一个新的 J2ME 项目,并且不包含特定于平台的可选包,因此无法从包中导入。
- 从特定于平台的 API 中选择随机接口(例如 SomeInterface)并在项目中创建其精确定义。接口包的名称必须与所选接口包完全相同。
-
假设接口定义为:
public interface SomeInterface { public void someMethod(); } 选择一个实现该接口的类,并使用newInstance()方法对其进行实例化。
- 将实例化对象转换为 SomeInterface。
- 在接口上调用 someMethod()。
这一切都有可能吗,还是会在演员阵容中发生 ClassCastException ?
【问题讨论】:
-
如果这是 regular Java,答案是“是”。不过,我不使用 J2ME(或 Dalvik) :( 祝你好运。最好/最简单地试一试——如果它不起作用 ,然后分析情况,如果需要,发布另一个 SO问题,说明情况和发生的错误情况。
标签: java android inheritance interface java-me