独習Java ・ 6.1 サブクラス ・ 6.2 継承と変数 ・ 6.3 メソッドのオーバーライド 11月28日 小笠原 一恵 継承 : あるクラスの状態と動作を別の クラスに分化する機能のこと ・ クラスが継承できるのは1つ のスーパークラスだけ A B D C E ・ サブクラスを複数持つことが できる ・ スパークラスはそのクラスの オブジェクトまたはそれから 派生した任意のオブジェクト を参照できる 6.1 サブクラス クラスの継承 class clsName2 extends clsName1{ //クラスの本体 } ( clsName2はclsName1のサブクラス,clsName1はclsName2のスパークラス) 変数の宣言 clsName varName; 6.2 継承と変数 クラスにはそのスーパークラスに定義され た状態と動作が継承される サブクラス内の静的変数またはインスタンス変 数がスーパークラスの変数と同じ名前の場合、 スーパークラスの変数は隠れる 隠された変数の参照 : super.varName 6.3 メソッドのオーバーライド クラスで宣言したメソッドと同じシグネチャを持つメソッ ドがそのスーパークラスで宣言された場合、メソッドは オーバーライドされる スーパークラスのメソッドはサブ クラスオブジェクトから隠される シグネチャ : メソッド名とそのパラメータのデータ型のリストを合わせたもの メソッドのオーバーライド class a { 出力結果 void hello() { System.out.println(“Hello from a”) Hello from b } } class b extends a { void hello() { System.out.println(“Hello from b”) } 変数objから参照されるオブ ジェクトがbクラスのオブジェ クトであるから } class MethodOverriding{ public static void main(String args[]){ b obj = new b(); obj.hello(); } } サブクラスのhello()がスー パークラスのhello()メソッド をオーバーライドしている
© Copyright 2024 ExpyDoc