在Java构造函数中使用'this'关键字
我对Java中的this
关键字感到困惑。如果一个类有两个构造函数,并且我们在某些方法中使用关键字this
,则使用this
表示的对象是使用哪个构造函数实例化的?在Java构造函数中使用'this'关键字
它并不在意,难以区分
它有点像建一辆车。 根据功能的其他构造时, 但最终你有车(这)
你可以认为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中
}
感谢您的花;-) – 2012-04-01 19:44:48