参照型の変数はC/C++のポインタと同じようにとらえていたので、
内容比較にならないのはわかっていたんです。
"hoge".instanceMethod()という構文ができるということは
文字列リテラルを書いただけでインスタンスが作成されていて、
更に>>371の二回目の"aaa"では新たに作成せずに
自動的に一回目と同じインスタンスになっているんですよね。
そのあたりのJavaの挙動が不思議だったんです。

ところで>>378のような文脈での「実装」という言葉の定義がよくわからないのですが、
ソースから処理実行までの過程のどの部分のどういった差異の事を指すんですか?