Javaエンジニア養成読本 - 2日目

P.34まで

第2章 クラスを理解する

  • 第1章の際にメモり忘れたが、お決まりのmain引数が可変長引数として記述されていた
  • staticなメンバの代表的な使い方は名前付き定数、ユーティリティメソッド、staticファクトリメソッドf:id:yossk:20141114212437j:plain
  •  アクセス修飾子を省略するとパッケージプライベート

  • 匿名クラスでの実装

    f:id:yossk:20141114213651j:plain

  • interfaceのdefaultメソッドの存在が抽象クラスとの差をなくすことはない
  • defaultメソッドインスタンスフィールドを持つことができない
  • staticメソッドと違ってインスタンスメソッドは呼べる
  • defaultメソッドの実用的な使い方がわからない・・・
  • enumのこういう使い方は知らなかった

    f:id:yossk:20141114215253j:plain

  • ネストしたクラス、中に書かれている方をネストした型、外側をエンクロージング型

  • ネストしたクラスは基本的にstaticを付与、付与しない場合はインナークラス
  • 慣れないウチはあまり使わない方が混乱しなくてよいように思う

    f:id:yossk:20141114220603j:plain

  • クラス設計は可能な限りイミュータブルに

    f:id:yossk:20141114221851j:plain

  • IDEAの場合、Open Module SettingsからProject language levelを7以上にしておかないとダイアモンド演算子がエラーになるので設定変更

    f:id:yossk:20141114222116j:plain

今日の感想

  • 実際どう使うのか、という事をイメージする必要があるし、今は活用シーンがわからない部分がある
  • 無駄に画像が多く取ってしまったのでフォトライフの利用量が・・・。次回からは少なめにする