【发布时间】:2014-07-16 21:26:33
【问题描述】:
在我的 android 项目中,我有几个字段用于多个活动,因此我实现了这个类来保存它们:
public class MainApplication extends Application {
private UserId userId;
}
我也可以将 UserId 声明为静态:
public class MainApplication extends Application {
private static UserId userId;
}
这两种实现有什么区别?哪个更可取?
编辑,
我问这个问题是因为: 目前我将 userId 声明为非静态的,并且我在活动第一和第二活动中使用它。
但有时我在第二个活动中得到 NullPointerException,尽管在第一个活动中 userId 不为空。 所以我想也许如果我将它声明为静态它会解决问题吗? 谢谢你
【问题讨论】:
-
-1,显示没有研究工作
-
不,不是重复的,这里有区别,因为我是扩展应用类,所以字段只会声明一次?
-
没有区别。静态字段是静态字段是静态字段。 Application 类与任何其他类没有什么不同。
-
扩展Application没关系,也可以扩展Activity或者Fragment什么的,还是一样的意思。 static 的含义不会根据您扩展的内容而改变
-
你真的需要从java101开始,不要跳过静态字段的章节。