为啥 getAppProperty() 不是静态方法?
Posted
技术标签:
【中文标题】为啥 getAppProperty() 不是静态方法?【英文标题】:why getAppProperty() is not static method?为什么 getAppProperty() 不是静态方法? 【发布时间】:2010-07-09 11:18:52 【问题描述】:getAppProperty(String key) 是 MIDlet 类中的实例方法。既然 midlet 套件中的所有 midlet 共享同一个 manifest/jad 文件,那为什么不能是静态方法呢?
【问题讨论】:
【参考方案1】:如果手机在同一个 JVM 进程中运行多个 MIDlet 套件,它们都共享同一个 MIDlet 类对象。
如果您随后将方法设为静态,它将不知道从哪个 JAD 文件中检索信息。
CLDC 和 MIDP 规范都没有阻止手机制造商在同一个 JVM 进程中运行多个 MIDlet 套件。实际上,在资源受限的环境中这样做会更有效。
【讨论】:
【参考方案2】:这是您对 J2me 提出的最紧迫的问题吗? J2me 陈旧肮脏,大多数 API 接口都很糟糕。
在 J2me 静态与 getAppProperty 实例的问题范围内,我什至认为这个问题不值得回答。
此外,我什至不认为这个问题是完全可以回答的。
【讨论】:
一个可能的答案是:如果它的静态方法那么外部库开发人员可以访问 midlet 属性,但它的实例方法所以 midlet 开发人员必须将 midlet 实例传递给其他类,那么只有其他类才能获得 midlet 属性。以上是关于为啥 getAppProperty() 不是静态方法?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 AbstractFactoryUnit 具有动态而不是静态多态性?
为啥 Java System.in.read() 可以调用不是静态方法