当前位置: 首页 > 面试题库 >

Java中.this和.class的含义

符鸣
2023-03-14
问题内容

假设我们有一个类名Home。是什么区别 Home.thisHome.class ?他们指的是什么?


问题答案:

这个

Home.this引用Home该类的当前实例。

此表达式的正式术语似乎是qualified
this,如Java语言规范的15.8.4节所引用。

在一个简单的类中,说Home.thisthis将等效。此表达式仅在存在内部类且需要引用封闭类的情况下使用。

例如:

class Hello {
  class World {
    public void doSomething() {
      Hello.this.doAnotherThing();
      // Here, "this" alone would refer to the instance of
      // the World class, so one needs to specify that the
      // instance of the Hello class is what is being
      // referred to.
    }
  }

  public void doAnotherThing() {
  }
}

家庭类

Home.classHome类的表示形式作为Class对象返回

此表达式的正式术语是类文字,如Java语言规范的15.8.2节所引用。

在大多数情况下,此表达式在使用反射时使用,并且需要一种方法来引用类本身而不是类的实例。



 类似资料:
  • 问题内容: Java中“ this”的含义是什么? 问题答案: this 指当前对象 每个非静态方法都在对象的上下文中运行。因此,如果你有这样的课程: 然后调用上会打印 因此,有效地将它用于多种用途: 澄清你在谈论一个字段,当还有其他与该字段同名的东西时 整体引用当前对象 在构造函数中调用当前类的其他构造函数

  • 问题内容: 我有一个JavaScript文件,由加载。 我的问题是:在var中是一个空对象,而函数中的语句是node.js全局对象的影子。我知道关键字在功能上有所不同,但我不明白为什么先不等于全局,而在功能上等于全局。 node.js如何注入到函数范围内,为什么不将其注入模块范围内? 问题答案: 您必须了解以下一些基本事实才能弄清情况: 在Node模块的顶级代码中,等效于。那是您看到的空对象。 当

  • 问题内容: 我有一个JavaScript文件,由加载。 我的问题是:在var中是一个空对象,而函数中的语句是node.js全局对象的影子。我知道关键字在功能上有所不同,但我不明白为什么先不等于全局,而在功能上等于全局。 node.js如何注入到函数范围内,为什么不将其注入模块范围内? 问题答案: 您必须了解以下一些基本事实才能弄清情况: 在Node模块的顶级代码中,等效于。那是您看到的空对象。 当

  • 所以我有两个方法,一个在超类中,另一个在子类中,具有相同的名称和参数,比如public void method()。子类中还有另一个方法method1(),如下所示: 上面的代码在执行时按计划进行(方法1使用超类中的方法),但如果我将其更改为这样: 其中class是超类的名称,出于某种原因,它不使用超类方法,而是使用同名子类的方法。超不是和((类)this)一样吗?为什么会发生这种情况? 编辑:这

  • 本文向大家介绍详谈jQuery中的this和$(this),包括了详谈jQuery中的this和$(this)的使用技巧和注意事项,需要的朋友参考一下 网上有很多关于jQuery的this和$(this)的介绍,大多数只是理清了this和$(this)的指向,其实它是有应用场所的,不能一概而论在jQuery调用成员函数时,this就是指向dom对象。 $(this)指向jQuery对象是无可厚非的

  • 我在这个文件中所做的是从一个java文件中执行一个hello.class文件,并使用正确的文件名将其输出作为txt文件存储在以下位置< code>C:\outtest\。但是当我编译上面的文件时,我的程序进入了某种无限循环,永远不会终止。 编辑 : 您好.java