“this”上下文是什么意思?(关于IT技术)

3
我在互联网上查看了很多Android教程。在这些教程中,他们在各个地方都使用this上下文。我知道Java中的this关键字的含义,但我无法将其与Android编程中的this关键字相等。例如,在developer.android.com网站上的AlertDialog.Builder中,只有一个对Context参数的引用,但我无法学习到这里的this是什么意思。

看一下这篇文章,它可能会帮助你理解。https://dev59.com/lnA65IYBdhLWcg3w5zDB - JAiro
2
当我看到这个问题时,脑海中唯一想到的是“这是什么意思!” - mark-cs
6个回答

12

如果您有一个Activity,您可以使用this,因为:

  • this 是类的当前实例
  • 一个Activity继承自类"Context"

所以您可以使用当前Activity作为上下文。

点击这里查看Activity文档

点击这里了解this的解释


this 是当前类的实例,它是一个实例 :) - Houcine

0

如果你了解"this"变量,那么你可能也知道它保存了当前对象的引用。因此,如果某个方法需要一个Context对象,当它扩展类如Context或Activity时,你可以只传递this变量。因为Activity实现了Context,所以显然它是一个Context。


0

在Android中,当前类的上下文被称为This。


0

这里有另一个问题,他们解释了Context。由于活动和服务扩展了Context,因此this context是对this activity or service的引用。


0
关键字 this 简单地是一个引用 - 在类的实例中 - 指向自己。
在 Android 中,有两种常见使用方式。这些并不特定于 Android ,但通常适用于 Java 。
  1. this.getResources() 表示在 this 实例上调用 getResources() 方法。其中的 this 部分通常是不必要的并且隐含使用。

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


0

this 是当前对象的引用

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

如果您的类扩展了 Activity,那么这是一个继承的案例。您的类是子类,Activity 类是父类。然后您可以使用此关键字来获取 Activity 的实例,因为 Activity 类是您的类的超类。这是隐式转换

另外,Activity 类有 Context 作为超类,因此您可以使用此关键字引用该类的实例。

谢谢


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接