最終更新:2013-01-29 (火) 16:49:55 (4105d)  

Java/クラス
Top / Java / クラス

修飾子 class クラス名 extends 親クラス名{
    型 属性;
    型 メソッド() { ... }
}

修飾子

Java/継承?

  • 修飾子 class クラス名 extends 親クラス名{}

Java/抽象クラス (abstract)

  • 抽象クラスのオブジェクトを生成することはできない
  • 抽象メソッド?は実装を持たない
  • 抽象クラスをサブクラスで継承し、そのサブクラス内でメソッドを実装(オーバーライド
  • 抽象クラスには抽象メソッド?/普通のメソッドを持てる。ただし、抽象メソッド?があるクラスは必ず抽象クラスとして宣言する必要がある
  • 抽象メソッド?がない、抽象クラスを宣言することもできる。かならず継承が行われ、なんらかのメソッドの変更があることを表す。
  • 抽象クラスを継承したサブクラスで抽象メソッド?を実装(オーバーライド)しない場合、そのサブクラスは抽象クラスとして宣言される。

Java/インターフェイス

  • 内容に抽象メソッド?しか持たないクラスのようなもの

メモ

  • publicクラスは1ソースファイルにつき1つしか宣言できない
  • Javaのソースファイル名は必ずそのソースファイルに宣言されているいずれかのクラス名と一致していなければならない
  • すべてのクラスは、スーパークラスとしてjava.lang.Objectを持つ

親クラス

特別なメソッド

ネストしたクラス

メンバ型

static なもの

  • 外側のクラスのインスタンスが無くてもアクセスすることができる
  • private なフィールド変数やメソッドであっても、外側のクラスからアクセスできる

static でないもの (内部クラス? : inner class)

  • 外側のクラスのインスタンスがないとアクセスすることができない
  • 静的初期化子を宣言できない
  • static なフィールド変数やメソッドも持つことができない

ローカルクラス

  • ブロックに囲まれた名前を持ったクラス
  • 常にprivate

無名クラス (匿名クラス)

  • 式内(クラス、インスタンス生成式内)に宣言される名前を持たないクラス

関連

参考