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

问题描述:

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

它并不在意,难以区分

它有点像建一辆车。 根据功能的其他构造时, 但最终你有车(这)

+0

感谢您的花;-) – 2012-04-01 19:44:48

你可以认为this关键字作为一个占位符。在运行时,该关键字与您正在处理的对象的对象引用进行交换。

它不需要做任何与构造函数,内存分配或类似的东西。 this关键字只是当前的对象实例引用。

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

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

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

你有this.this()来区分,可以这么说:

大多数时候,你用this作为参照当前对象,即该对象的引用被替换在运行时this。例如,如果您使用this作为参数或参考this.someMember

你可以有不同的构造函数,它们具有不同的参数,即重载构造函数。在构造函数的开头,可以使用this(parameter_1, ... parameter_n);作为第一条指令来调用其他构造函数。

这两种情况的一个很好的解释可以在the java tutorial about the this keyword找到。

在方法体内使用this指的是方法存在的类的实例。

这也意味着this不能从static上下文中使用。

this表示实例本身regarldless的情况下是如何构建

1.'this'关键字是指阶级反对它在哪里used.Generally我们写在class.All这个实例变量,构造函数和方法成员由'this'表示。
2.当一个对象被创建给一个类时,一个默认的引用也会在这个对象的内部创建。它不过是'这个'。
3.Example为关键字:
样品(INT X)//参数的构造{
此。x = x; //将局部变量x存储到当前类实例变量x中
}