第13回のポイント
アクセス修飾子
public 自由にアクセスできるprivate 自分のクラスのみでアクセスできる
protected 自分のクラス、サブクラスでアクセスできる
オーバーライド
サブクラスに、スーパークラスにあるメソッドや変数と同じ名前で定義することを「オーバーライド」と言います。final修飾子
クラス、メソッドにfinal修飾子をつけると、クラスの継承、メソッドのオーバーライドを禁止する 変数にfinal修飾子をつけると定数になるsuperとthis
スーパークラスのメンバにアクセスするときにはsuper.xxxサブクラスのメンバにアクセスするときにはthis.xxx(省略可能)
スーパークラスのスーパークラス
Objectクラス 継承をしないクラスのスーパークラスは ObjectクラスtoStringメソッド等Objectクラスにある メソッドを利用できる
googleドライブ上にこの講座のプログラムコード、スライドデータを置いています。 https://drive.google.com/folderview?id=0B7jeGhcD18UYM0JtUG8xQm1CeU0&usp=sharing
以下は実際にビデオの中で作成したプログラムです。
public class Study13 {
public static void main(String[] args) {
Human hm = new Human();
Human hm2 = hm;
hm.seibetsu="男";
hm2.seibetsu="オス";
hm.showSeibetsu();
hm.walk();
hm.talk();
hm.showSeibetsu();
System.out.println(hm);
}
}
class Monky{//猿クラス
protected String seibetsu;//性別
void showSeibetsu(){//性別を表示
System.out.println("性別は"+seibetsu+"です");
}
void walk(){//歩く
System.out.println("手も使いながら2足歩行で歩いています");
}
}
class Human extends Monky {//人間クラス
public String toString(){
return "人間クラスです";
}
String seibetsu;//オーバーライド
void showSeibetsu(){
super.seibetsu="オス";
this.seibetsu="男";
System.out.println(super.seibetsu);
System.out.println(this.seibetsu);
}
void talk(){//話す
System.out.println("こんにちは!");
}
void walk(){//歩く オーバーライド
System.out.println("完全2足歩行で歩いています");
}
}
0 件のコメント:
コメントを投稿