为啥 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() 可以调用不是静态方法

为啥方法局部静态变量绑定到类而不是实例?

为啥LinkedList中的类节点定义为静态而不是普通类[重复]

c++11:为啥静态 constexpr 的类内初始化不是定义?