FC2ブログ
  • 館内放送 [ツイッター]

    キンコンカンコーン・・・うみゃーだよ。館内放送だみゃ。
    ・・・・・キンコンカンコーン・・・ブツ
  • 町内会からのお知らせ [相互RSS]

【技術部】Javaの仕様を総点検!!~ 継承、実装編 ~ 【試験勉強のお供に】


※カテゴリー【技術部】は技術者向けの記事となります。

Java の仕様について総点検しましょう。
認定資格の受験勉強等にもお役立ていただけます。


今回は 継承、実装についてです。
インターフェースや抽象クラスの存在など、意外とややこしいです。


【目的】
Java 継承、実装の仕様を理解する。



※当記事はJava7をベースにしております。異なるバージョンでは挙動が違う可能性がありますのでご注意ください。



クラスを継承する

public class SuperClass {

}
public class SubClass extends SuperClass  {

}

出力結果
[メッセージなし]

解説
SubClassは、SuperClassを extendsに指定することで継承する。



複数のクラスを継承することはできない

public class SuperClass {

}
public class SuperClass2 {

}
public class SubClass extends SuperClass, SuperClass2  {

}

出力結果
コンパイルエラー

解説
extends には複数のクラスを指定することができない。



抽象クラスを継承する

public abstract class AbstractClass {

}
public class SubClass extends AbstractClass  {

}

出力結果
[メッセージなし]

解説
抽象クラス AbstractClassも extendsに指定することで継承できる。



複数の抽象クラスを継承することはできない

public abstract class AbstractClass {

}
public abstract class AbstractClass2 {

}
public class SubClass extends AbstractClass, AbstractClass2  {

}

出力結果
コンパイルエラー

解説
抽象クラスの継承もextends を使用するので複数のクラスを指定することができない。



インターフェースの実装はちょっと違う

public interface InterfaceClass {

}
public interface InterfaceClass2 {

}
public class SubClass implements InterfaceClass,InterfaceClass2  {

}

出力結果
[メッセージなし]

解説
SubClassは、インターフェース InterfaceClassを implementsに指定することで実装する。
implementsには複数個のインターフェースを使用することができる。



クラスの継承、インターフェースの実装を同時に行うのはOK

public class SuperClass {

}
public interface InterfaceClass {

}
public interface InterfaceClass2 {

}
public class SubClass extends SuperClass implements InterfaceClass,InterfaceClass2  {

}

出力結果
[メッセージなし]

解説
SubClassは、SuperClassの継承、およびインターフェース InterfaceClass、InterfaceClass2を実装している。




ご質問、ご意見等ありましたら下記コメントにご投稿お願いいたします。
関連記事
この記事へのリアクション

コメントの投稿

非公開コメント




タグ:技術部 Java 継承 実装 認定資格

プロフィール

うみゃー・アパカ

Author:うみゃー・アパカ
UMYA.net公式ブログです。
ツイッター:umya_net


リンクフリーです!
アドレス:http://umyanet.blog.fc2.com/

公式ホームページ

ラインスタンプ配信中!

リンク



スマホアプリ配信中

黄金疾走

スポンサード

人気商品

Powered by amaprop.net