在Java构造函数中使用'this'关键字

dee*_*thi 11 java this

this对Java中的关键字感到困惑.如果一个类有两个构造函数,并且我们this在某个方法中使用了关键字,那么表示的对象this是使用两个构造函数中的哪一个实例化的?

Dav*_*Far 22

您必须区分this.this(),可以这么说:

大多数情况下,您将使用this当前对象的引用,即在运行时替换此对象的引用this.例如,如果您使用this作为参数或参考this.someMember.

您可以使用具有不同参数的不同构造函数,即重载构造函数.在构造函数的开头,您可以使用this(parameter_1, ... parameter_n);第一条指令调用不同的构造函数.

关于这两个案例的一个很好的解释可以在关于this关键字的java教程中找到.


ste*_*ert 7

它并不关心,也无法区分

这有点像建造一辆汽车.根据功能,使用其他构造函数,但最终你有一辆车(这)


Pet*_*rey 7

this关键字有两个含义,混淆可能是围绕这两个含义.

在构造函数中,this(...)就像构造函数的方法调用.编译器根据您使用的参数的数量和类型选择要调用的构造函数.

当您this用作引用时,它表示此对象,并且使用哪个构造函数并不重要.