将其作为参数传递

eos*_*441 4 java parameters this keyword

我见过将关键字this作为输入参数传递的代码。 例如:

getContainer(this);
Run Code Online (Sandbox Code Playgroud)

关键字是什么this意思?我听说它指的是类本身的实例(或类似的东西),但它是如何工作的呢?

And*_*son 5

来自java规范的15.8.3:

\n\n
\n

关键字 this 只能用在实例方法、实例初始值设定项或构造函数的主体中,或者在类的实例变量的初始值设定项中使用。如果它出现在其他地方,则会发生\n 编译时错误。当用作主表达式时,关键字 this 表示一个值,该值是对调用实例方法的对象 (\xc2\xa715.12) 或正在构造的对象的引用。this 的类型是关键字 this 所在的类 C。在运行时,所引用的实际对象的类可能是类 C 或 C 的任何子类。

\n\n

[...]

\n\n

关键字 this 还用在特殊的显式构造函数调用语句中,该语句可以出现在构造函数主体 (\xc2\xa78.8.7) 的开头。

\n
\n\n

所以是的,一个类可以使用 this 关键字来引用它自己。this当方法中的局部变量与类成员变量同名时,也需要使用关键字来区分它们。

\n