継承
子供は父親のクラスを継承します。
クラス A extends B
コンストラクタのメソッド以外はすべて継承します。プライベート・プロパティに直接アクセスすることはできませんが、他の方法でアクセスすることはできます。
継承には、親クラスが変更されると子クラスもすぐに影響を受けるという欠点もあります。
継承を書かないと、デフォルトでObjectを継承することになります。
オブジェクトにはtoString();メソッドがあり、デフォルトでは参照のみを書くときにアクセスされ、クラスの16進数ハッシュを返します。
メソッド内の変数
静的メソッドはインスタンス変数にアクセスできないので、アクセスするにはまず新しいオブジェクトを作成する必要があります。
インスタンス・メソッドは、同じクラスであればインスタンス変数/静的変数にアクセスできます。同じクラスでない場合は、インスタンス変数にアクセスする前に新しいオブジェクトになる必要があります。
変数はローカル変数とメンバ変数に分類されます。
メソッド内の変数はローカル変数と呼ばれます。
メソッド本体の外にある変数はメンバ変数と呼ばれます。
メンバ変数は、さらにインスタンス変数と静的変数に分けられます。
静的変数はクラスのロード時にメソッド領域にロードされ、ローカル変数はメソッドの実行時にスタック・メモリにロードされ、メソッドが終了すると解放され、インスタンス変数はオブジェクトの新規作成時にヒープ・メモリにロードされます。
メソッドのロジック
mainは普通のメソッドで、静的メソッドであり、プログラムの入り口です。
静的メソッド
static void A(){
}
インスタンスメソッド。
インスタンス・メソッドは、インスタンス変数、スタティック変数、スタティック・メソッド、現在のクラスのインスタンス・メソッドにアクセスできます。
コンストラクタ。
public class name(){}
コンストラクタ本体でデフォルト値を与えたい場合は、thisをパラメータとするメソッドを使用します。thisはコンストラクタ本体の最初の行に一度だけ出現します。
パラメータは this.name = nameで使用できます;
コンストラクタ・メソッドはインスタンス・メソッドとよく似ていますが、コンストラクタ・メソッドは戻り値の型を必要としないのに対し、インスタンス・メソッドは別の名前を取ります。コンストラクタ・メソッドは主にボディ内のプロパティに値を代入しますが、インスタンス・メソッドはそれ以上のことができます。
インスタンスメソッドのゲッターとセッター
属性が1つなら、これを2つ書かなければなりません。