【Java】【No.8】継承、サブクラスについて | yoppyのandroidアプリ開発者になるためのブログ

yoppyのandroidアプリ開発者になるためのブログ

このブログでは、ソフト開発部に所属していながらもソフト開発の経験がほぼゼロのペーペーが、Javaの勉強やアプリ開発を経て、android携帯電話のアプリ開発者のプロを目指す共同学習型のブログです。androidやJavaなど、プログラミングに興味のある方はぜひ見て下さいね!

東広島のカフェ「エクラン」ってとこで勉強中です。
今回は、「継承」とか「サブクラス」といったキーワードを中心に説明します。

■継承

継承とは、とあるクラスの機能をそのまま別のクラスに分化することを言います。分化されたクラスのことを、"サブクラス"といい、継承元のクラスのことを、"スーパークラス"と呼びます。

継承するには、"extends"というキーワードを使います。使い方の例を以下に示します。

--------------------------------------
class A{
//インスタンス変数の宣言
int x = 100;
int y = 200;
}

//クラスAを継承する
class B extends A{
String x = "abcde"; //スーパークラスのxを隠す

//displayメソッド
void display(){
System.out.println(x);
System.out.println(y);
System.out.println(super.x);
}
}

class Example{
public static void main(String args[]){
//オブジェクトの作成
B b = new B();
b.display();
}
}
--------------------------------------

出力結果は以下です。
----------
abcde
200
100
----------

この例では、クラスAをクラスBがextendsキーワードを使って継承しています。クラスAで宣言された変数やメソッドは、クラスBでも使うことが出来ます。例えば、クラスAで、int型のインスタンス変数yを宣言していますが、クラスBの中で使用可能であり、displayメソッド内で使用しています。

また、クラスAでint型のインスタンス変数xを宣言していますが、クラスBではString型として、同じ名前の変数を宣言しています。この場合、クラスBにおいて"x"と記述するものはString型の方になります。親クラスとなるクラスAの"x"を使いたい場合は、"super.x"とすることで利用することが出来ます。

今回は以上です。