Java Language Specification, Version Java SE 21 Edition
4.3.1. Objects8 Documented Misconceptions
AddMemberAtRuntime
Set of class members can change at runtimeAssignmentCopiesObject
Assignment copies the objectNoStringToString
One cannot invoke toString() on a StringNullIsObject
null is an objectReferenceIntoStack
References can point into the stackReferenceToVariable
References can point to variablesToStringPrints
Invoking toString() prints somethingVariablesHoldObjects
A variable of a reference type contains a whole object