“这个”背景是什么意思?
我通过互联网查看了很多android教程。 在这些教程中,他们在任何地方使用this
上下文。 我知道this
关键字在Java中意味着什么,但我无法在Android编程中使用this
关键字。 例如,在developer.android.com网站上的AlertDialog.Builder
,Context的参数只有一个引用,但我无法了解this
意味着什么。
如果你有一个活动,你可以使用this
因为:
-
this
是一个类的当前实例 - 一个Activityinheritance自“Context”类
这样您就可以将当前的Activity用作上下文。
在这里查看Acitivty文档
在这里解释this
如果你知道"this"
变量..那么你也可能知道它保存了当前对象的引用..所以如果某个方法请求一个Context对象,你只能在它扩展类如Context或Activity时传递this
变量。 Activity实现了上下文,因此它显然是一个Context
当前类的上下文在Android中称为This。
这是他们解释Context
另一个问题 。 当活动和服务扩展Context
, 此上下文是对此活动或服务的引用。
关键字this
只是一个引用 – 在类的实例中 – 对自身。
Android中“this”有两种常见用法。 这些并不是Android特有的,但在Java中一般都有效。
-
this.getResources()
表示要在this
实例上调用getResources()
方法。 它的this
部分通常是不必要的并且是隐式使用的。 -
可以从内部类调用
Foo.this.getResources()
。 如果内部类也定义了getResources()
,但是你想要在另一个类中定义的版本,这可能很方便。
this
是对当前对象的引用
您可以使用this
来引用任何当前实例及其超类的任何实例。
如果您的类扩展了Activity 。 这是一种inheritance的情况。 您的类是子类,Activity类是父类。 那么你可以使用这个关键字来获取Activity的实例,因为Activity类是你类的超类。 这是隐式投射
还有Activity类Context
作为超类。 所以你可以使用这个关键字引用该类的实例。
谢谢