Android 通过方法而不是构造函数应用上下文

Android 通过方法而不是构造函数应用上下文,android,android-context,Android,Android Context,我在Android中阅读了有关context的内容,并在我的Android应用程序中使用了这些内容。但我突然想到了一个想法。那么,为什么我们只在构造函数中传递上下文,而不传递一些方法,比如组件。setContext(context),其中,component是一个假设组件,setContext是一个假设方法,而context可以是getConetxt/this/getApplicationContext(根据需要) 如果任何人认为该标题或任何内容不合适,他们可以自由更改/编辑 请帮助我理解它。谢

我在
Android
中阅读了有关
context
的内容,并在我的Android应用程序中使用了这些内容。但我突然想到了一个想法。那么,为什么我们只在
构造函数中传递
上下文
,而不传递一些
方法
,比如
组件。setContext(context)
,其中,
component
是一个假设组件,
setContext
是一个假设方法,而context可以是
getConetxt/this/getApplicationContext
(根据需要)

如果任何人认为该标题或任何内容不合适,他们可以自由更改/编辑


请帮助我理解它。谢谢

如果您通过构造函数或任何setter方法传递
上下文
,两者基本相同

您仍然需要在类中有一个对上下文的引用,该上下文将在对象创建期间初始化,即通过构造函数初始化,或稍后通过任何setter方法初始化

在这两种情况下,上下文引用仍然存在。这只是一个关于快速初始化延迟初始化的问题

但是,如果是即时初始化,在访问类中的上下文时,您可以确保上下文已经被初始化,并且可以安全地使用它


但在延迟初始化的情况下,这并不能保证。作为一个尺寸说明,请检查两种类型的上下文之间的差异-应用程序上下文活动上下文

否决者,请解释否决投票的原因,以便我可以改进我的问题。想法不错,但仍在等待一些技术原因(如果有的话)。这不仅仅是一个想法。我也试着从技术上解释你。这是一个非常简单的Java问题,您可能只是有点困惑。如果你还需要知道什么,请告诉我。