タグ

ブックマーク / sofksoak.hatenadiary.jp (1)

  • 定数定義のインタフェース (java) - あるプログラマの日記

    java の interface で定数のみの定義を行っているものがありますが 以下の理由で、それは良くありません。 それは、public static final の field だけで構成されていて、method を持っていません。 定数をクラス又はインスタンスで使用するということは、実装の詳細です。 そして定数を、実装クラスから、無意味に外部公開してしまうことになります。他のクラスからは実装クラスに属する定数のように見えてしまいます。 また、外部公開すると互換性を保証し続けなければならなくなり、不要になってもインターフェースを除外することができません。 それから、来はsuper class だけの参照にとどめておきたかった定数が、sub class まで参照できてしまいます。つまり、このクラスをextends したすべての sub class で名前空間が汚染されてしまいます。(名

    定数定義のインタフェース (java) - あるプログラマの日記
    tyru
    tyru 2014/12/10
    static importも定数インターフェースをimplementsするのもやめてほしい。クラス内で定義されたものか他から来てるのかぱっと見分からないし…
  • 1