shadowing
A parameter or local with the same name as a field hides the field; this.name reaches the field.
A local variable or parameter shadows a field of the same name within its scope; the simple name refers to the local, so width = width assigns the parameter to itself.