java构造函数中的这个关键字
我现在正在上java课,今天我的老师说了一些我大脑没有接受的话,我可能错了。以下代码java构造函数中的这个关键字,java,Java,我现在正在上java课,今天我的老师说了一些我大脑没有接受的话,我可能错了。以下代码 class Ab{ int x; int b; public Ab(int x, int b){ this.x = x; this.b = b; } public static void main(String[] args){
class Ab{
int x;
int b;
public Ab(int x, int b){
this.x = x;
this.b = b;
}
public static void main(String[] args){
Ab x = new Ab(4,5); // this is where my teacher confused me
}
}
我的老师说
xab=newab(4,5)
会让调用构造函数的x对象传入构造函数,用这个关键字引用它,那么像new Ab(2,4)这样的匿名类呢代码>现在,这个关键字所指的是什么?在我看来,在构造函数创建对象并返回对变量的引用之前,构造函数内部的这个与引用变量没有任何联系。您必须键入这个,因为在构造函数的作用域中,变量的名称a
和b
隐藏在参数名称后面a
和b
<代码>此
仅表示类的当前对象
编辑:
对象是使用new
关键字创建的。x
变量只是对对象的引用。在类方法中,我们可以使用this
引用当前对象,并且必须在其他地方进行引用。所以当你的老师告诉你关于这个
指的是x
时,他的意思是指可以通过x
访问的对象
像newab(2,4)
这样的匿名类呢
这不是匿名类。它是一个表达式,用于创建AB类型的新对象。该表达式的值是对该对象的引用。AB构造函数中的this
值是对对象的引用。下面的x
值是对对象的引用。它们都是对同一对象的引用
Ab x = new Ab(4,5); // this is where my teacher confused me
在我看来,在构造函数创建对象并返回对变量的引用之前,这个内部构造函数没有与引用变量的链接
构造函数中的此
无需引用其他参考变量。当构造函数返回时,它指向与x
相同的对象
引用不是对象本身。您可以将其视为指向对象的多个指针之一 this
引用当前对象。您的类定义了字段intx
,但在构造函数中您使用的是this.a
。您的意思是inta
和this.a
,或者intx
和this.x
。哪一个是对的?为什么你的代码格式是这样的?哦,我错了,就是这个。a@markspace我是stackoverflow新手,对此很抱歉。如果你能阅读我解释的最后一段内容,那么在构造函数完成创建对象并返回对x变量的引用之前,构造函数中的“this keyword”是否与引用变量x有关?@RidaBatool我编辑了我的答案,向你解释了一切,如果它有帮助的话,请接受它作为正确答案!非常感谢你。我得到了正确的答案,现在为我澄清了这一点,非常感谢你