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

Java中有“ this”这个名字吗?

高云瀚
2023-03-14
问题内容

当我尝试类似的操作时,Eclipse将给出一个错误:“赋值的左侧必须是一个变量”。

public class Thing{

  String a1;
  int a2;

  public void meth(){
    Thing A = new Thing();
    this = A;
  }
}

我必须分配每个变量(this.a1 = A.a1; this.a2 = A.a2;)来解决。

还有其他方法可以不用遍历每个变量字段吗?
如果this不是变量,它叫什么?


问题答案:

this是一个 伪变量
,它指向对象的当前实例,无法重新分配。它也被认为在语言中的关键字,按段§3.9中的Java语言规范。



 类似资料:
  • 主要内容:this.属性名,this.方法名,this( )访问构造方法this 关键字是 Java 常用的关键字,可用于任何实例方法内指向当前对象,也可指向对其调用当前方法的对象,或者在需要当前类型对象引用时使用。 下面我们根据示例分别讲解 this 关键字的作用。 this.属性名 大部分时候,普通方法访问其他方法、成员变量时无须使用 this 前缀,但如果方法里有个局部变量和成员变量同名,但程序又需要在该方法里访问这个被覆盖的成员变量,则必须使用 this 前缀

  • 问题内容: 我从Android开发者网站复制了以下代码: 我想知道“这个”关键字到底指的是什么?它是否引用了类“ ExampleActivity”?通常,如何找到“ this”指的是什么? 问题答案: 它是指的实例,其上被调用。 通常,从Java语言规范15.8.3开始: 关键字this只能在实例方法,实例初始值设定项或构造函数的主体中,或在类的实例变量的初始值设定项中使用。如果它出现在其他任何地

  • 问题内容: 当ai遇到关键字时,我正在研究Java中的方法重写。在Internet和其他来源上进行了大量搜索之后,我得出结论,当实例变量的名称与构造函数的参数相同时,将使用关键字。我是对还是错? 问题答案: 是实例中当前实例的别名或名称。它对于消除实例变量与局部变量(包括参数)的区别很有用,但它本身可以用来简单地引用成员变量和方法,调用其他构造函数重载或简单地引用 实例 。适用用途的一些示例(并非

  • 问题内容: 我试图了解java关键字的this实际作用。我一直在阅读Sun的文档,但对于this实际操作仍然不甚了解。 java 关键字 问题答案: 关键字是对当前对象的引用。 另一种思考方式是关键字就像你用来引用自己的人称代词。对于相同的概念,其他语言使用不同的词。VB使用Me和Python约定(因为Python不使用关键字,只是每个方法的隐式参数)将被使用。 如果要引用本质上属于你的对象,你将

  • D中的每个对象都可以通过一个名为this指针的重要指针访问自己的地址。 this指针是所有成员函数的隐式参数。 因此,在成员函数内部,这可以用于引用调用对象。 让我们尝试以下示例来理解this指针的概念 - import std.stdio; class Box { public: // Constructor definition this(double l

  • Elasticsearch允许通过其“more like this”(MLT)查询搜索类似文档。我正试图更好地理解和调整查询,以便更好地找到类似的文档。 在试验它时,我发现具有多个字段的单个MLT查询的结果与具有每个字段的多个MLT查询的布尔值产生不同的结果。以下样本(截断): 具有多个字段的单个MLT查询 具有单个字段的多个MLT查询 为什么会发生这种情况? 我知道MLT查询会将单个查询中列出的