...
- Returning
thisfrom a non-private method - Passing
thisas a parameter to a method belonging to another class - Publishing
thisfrom the constructor of an object under construction - Publishing
thissuch that pieces of code beyond its current scope can obtain its reference - Calling a non-final method from a constructor (MET04-J. Ensure that constructors do not call overridable methods)
- Overriding the finalizer of a non-final class when its construction and obtaining the
thisreference of a partially constructed instance, when the construction of the object ceases (OBJ04-J. Do not allow partially initialized objects to be accessed). This is a special case of the previous point.
This guideline focuses on the potential consequences of this escaping during object construction including race conditions and improper initialization.
...