.this和.class在java中的含义

.this和.class在java中的含义,java,Java,让我们假设我们有一个类名Home。Home.this和Home.class有什么区别?它们指的是什么?主页。这是 Home。此引用Home类的当前实例 该表达式的正式术语似乎是,如Java语言规范第15.8.4节所述 在一个简单的课堂上,说Home。这个和这个是等价的。此表达式仅在存在内部类且需要引用封闭类的情况下使用 例如: class Hello { class World { public void doSomething() { Hello.this.doAnot

让我们假设我们有一个类名Home。Home.this和Home.class有什么区别?它们指的是什么?

主页。这是

Home。此
引用
Home
类的当前实例

该表达式的正式术语似乎是,如Java语言规范第15.8.4节所述

在一个简单的课堂上,说
Home。这个
这个
是等价的。此表达式仅在存在内部类且需要引用封闭类的情况下使用

例如:

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.class
将返回
Home
类作为对象的表示形式

该表达式的正式术语是,如Java语言规范第15.8.2节所述


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

Home.class
返回与类
Home
对应的
java.lang.class
实例。此对象允许您对类进行反思(找出它有哪些方法和变量,它的父类是什么等),并创建类的实例


Home。只有在嵌套的Home类中,此
才有意义。这里是
Home。这个
将返回嵌套类的对象所嵌套的类的对象
Home

在C#中是否有类似的方法?MiladIrannejad不喜欢嵌套类。这个。查看有关
MainActivity的内容。这是Android编程中的
。@nn0p Android基于Java。所以Java的基本概念也适用于Android。上述答案也适用于
main活动。此