Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

プレゼン、ボランティアコーチします!

勉強会でスピーカーをやりたいけど、プレゼンが初めて、苦手という方に無償でコーチします!資料レビューや録画リハへアドバイスします。Twitter@jyukutyoまでメンションでもDMでも。

私はデブサミやJJUG CCCなど200人規模で登壇経験ありです。海外での登壇も短いながらあり。デブサミ2017では公募スピーカー1位でした!

フレンドインスタンスのprivateなフィールドは参照できるよ

意外にみんな知らなくてビックリした。
Javaではフレンドインスタンスのprivateなフィールドは参照できるよ。
privateだからといって自分自身しか参照できないわけじゃないよ。

class Hoge {
    
    private String name;

    void hogeMethod(Hoge hoge) {
        // フレンドインスタンスのprivateフィールドは参照できる
        String friendName = hoge.name;
    }
}

コンパイルエラーにもならないし、実行時に例外も発生しない。
フレンドインスタンスって名前はたぶん公式じゃないと思う。