9章 クラス機構
FQCNでのメソッド呼び出しと、クラスからのインスタンス(属性, 操作)で、頭がちょっと混乱したので、まず整理。
FQCN:
package.Class.method()
インスタンスでのメソッド呼び出し(Class)。インスタンスの変数をnとすると、
n.method()
// FQCN: Fully Qualified Class Name
クラス
インスタンスのフィールドとは、属性の変数。
インスタンスは、クラスで定義した、フィールドと操作(メソッド, 動作)から生み出される。
has-aの関係: あるクラスが、別のクラスををフィールドとして利用している関係。
コンストラクタ(constructor)とは
クラスがnewされた直後に自動的に実行されるメソッド。
public class Hero {
int hp;
Hero() {
this.hp = 100; // hpフィールドを100で初期化。
}
}
オーバーロードにおける、『別コンストラクタの呼び出し』ルール
-
this(引数);
と書く。
Class(String names) {
this.name = names;
this.hp = 100
Class {
this("Bob");
}}
静的フィールド
フィールドにstaticをつけると、静的フィールドになる。
静的フィールドへ、インスタンス変数からアクセスしても、元の静的フィールドに影響を与える。