Java 使用“引用自己的类”;这一点;

Java 使用“引用自己的类”;这一点;,java,this,Java,This,我在网上找不到答案的简单问题,我创建了一个扩展JFrame的GUI类,在构造函数中我使用“setSize(10,10);”等创建框架,然而,许多在线示例使用“this.setSize(10,10);”,所以我的问题是;以下方面有什么区别吗 setSize(10,10); this.setSize(10,10); 如果在类成员之前未使用此关键字,则编译时会自动添加该关键字。因此,如果您所在的函数没有与成员同名的参数,那么从某个函数(如构造函数)引用该类的任何成员都可以不使用这个关键字。但是如果是

我在网上找不到答案的简单问题,我创建了一个扩展JFrame的GUI类,在构造函数中我使用“setSize(10,10);”等创建框架,然而,许多在线示例使用“this.setSize(10,10);”,所以我的问题是;以下方面有什么区别吗

setSize(10,10);
this.setSize(10,10);

如果在类成员之前未使用
关键字,则编译时会自动添加该关键字。因此,如果您所在的函数没有与成员同名的参数,那么从某个函数(如构造函数)引用该类的任何成员都可以不使用
这个
关键字。但是如果是这样,则必须使用
this
引用类成员变量而不是参数。

没有区别 当你这样调用你的方法时

setSize(10,10);
在编译过程中,java编译器会自动将其转换为

this.setSize(10,10);

没有区别,但在我看来,第二行比第一行更易于维护/可读。请注意,引用变量是不同的情况-如果存在局部变量
foo
和实例变量
foo
,然后
foo
将引用局部变量,而
this.foo
将引用实例变量。如果没有局部变量,
foo
将引用实例变量。如果它不在类的构造函数中呢?@Aominè同样,它可能在类的任何函数中,
这个
会在编译时自动添加,正如aman5319所说,您的回答表明,只有在构造函数中使用了
这个
时,它才是相同的。请更新您的答案以消除这种歧义;-)