宣言、初期化、スコープ No.2

Javaプログラムの構成

  • publicクラスは1つのファイル内に1つしか宣言できない
  • ファイル名はpublicクラス名と同一でなければいけない。
  • interfaceも同様

インタフェースのメソッド定義

  • メソッドは暗黙的に public abstract void method()とおなじになる
  • インターフェースで定義されたメソッドのオーバーライドを行なう際、publicよりも制限された修飾子を指定するとコンパイルエラーとなる。
  • 実装クラスで全てのメソッドを実装したくないときはabstractクラスにする。

継承と暗黙のコンストラクタの呼び出し

インナークラス

  • ローカルクラス
    • インナークラスの1つ
    • ローカル変数と同様にメソッドやブロック内で宣言されたクラス
    • メソッド内に定義するローカルクラスには、アクセス修飾子やstaticを指定することは不可
  • インナークラス(ローカルクラス含む)内には、static変数、staticメソッド、staticクラスは宣言できない。
  • abstract指定はクラス宣言にすることができる
  • インナークラス(ローカルクラス含む)は外側のクラスのprivateなメンバにもアクセスすることが可能。

abstractメソッド

  • 実装をもたないシグニチャのみのメソッド(実装があるとコンパイルエラー)
  • スーパークラスやインターフェースでメソッドの雛形を定義し、サブクラスでオーバーライドして使用する
  • abstractメソッドを持つクラスは必ずabstractクラスとなる。