“这个”背景是什么意思?

我通过互联网查看了很多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中一般都有效。

  1. this.getResources()表示要在this实例上调用getResources()方法。 它的this部分通常是不必要的并且是隐式使用的。

  2. 可以从内部类调用Foo.this.getResources() 。 如果内部类也定义了getResources() ,但是你想要在另一个类中定义的版本,这可能很方便。

this是对当前对象的引用

您可以使用this来引用任何当前实例及其超类的任何实例。

如果您的类扩展了Activity 。 这是一种inheritance的情况。 您的类是子类,Activity类是父类。 那么你可以使用这个关键字来获取Activity的实例,因为Activity类是你类的超类。 这是隐式投射

还有Activity类Context作为超类。 所以你可以使用这个关键字引用该类的实例。

谢谢