編集の要約なし
編集の要約なし
1行目: 1行目:
< [[Java基本文法]]
< [[Java基本文法]]


* クラスとはサブルーティーンを綺麗に整理整合するための仕組み
* クラスとはサブルーティーンを論理的にまとめて、整理整合するための仕組み
* フォルダ1 (Interface) -> フォルダ2 (SuperClass) -> SubClassファイル群、と3階層整理できる
* フォルダ1 (Interface) -> フォルダ2 (SuperClass) -> SubClassファイル群、と3階層整理できる
* 3階層整理をすると各クラス群の役割状況、メソッドやフィールドの使い回し状況が俯瞰できる
* 3階層整理をすると各クラス群の役割状況、メソッドやフィールドの使い回し状況が俯瞰できる

2019年6月30日 (日) 13:21時点における版

< Java基本文法

  • クラスとはサブルーティーンを論理的にまとめて、整理整合するための仕組み
  • フォルダ1 (Interface) -> フォルダ2 (SuperClass) -> SubClassファイル群、と3階層整理できる
  • 3階層整理をすると各クラス群の役割状況、メソッドやフィールドの使い回し状況が俯瞰できる
  • この本質を知っていれば「継承」だの「親子関係」だの、分かりづらいノイズ概念は不要になる

ヒエラルキー

1. インターフェース

  • フィールドには自動的に「public static final」が付き定数になる
  • メソッドには自動的に「public abstract」が付く
  • 「default」を付ければデフォルトメソッドを定義できる(Java8から)

2. スーパークラス

  • 「abstract」が付いたクラスはnewできなくなり、使い回し専用クラスになる
  • 「final」が付いたクラスはextendsできなくなり、完成品クラスとなる
  • 「final」が付いたメソッドはサブでオーバーライドできない
  • 同名メソッドで、インターフェースのメソッドをオーバーロードできる

3. サブクラス

  • 同名メソッドで、スーパークラスのメソッドをオーバーロードできる
  • オーバーライドしていても「super」でスーパークラスのメソッドにアクセスできる