Java/インターフェース の変更点 luckey!!!! - memo random

#author("2018-08-29T09:28:09+09:00","ldap:pandora"," pandora")
#author("2018-08-29T09:48:43+09:00","ldap:pandora"," pandora")
[[Java]]
* ''インターフェース'' [#y487b414]

- インターフェースクラスとは
 クラス内に、含まれるメソッドに具体的な内容を記述せず、変数とメソッドの型のみを定義したクラス。
 抽象クラスの一部で、クラス内に、含まれるメソッドに具体的な内容を記述せず、変数とメソッドの型のみを定義したクラス。
※抽象クラスのabstract修飾詞がついていないが、暗黙的に付与されている。明示的に指定することも可能。
#highlighter(java,number){{
// インターフェースクラスの宣言
public interface Sports{
    // メソッドの型のみ定義し、中身を一切記載しない。
    // メソッドの宣言
    public void winMessage();
    // メソッドの宣言
    public void loseMessage();
    // メソッドの宣言 
    public String getRule();
    // メソッドの宣言
    public void setRule(String rule);
}
}}

- 特徴
-- インターフェースクラスを継承したクラスは、必ずインターフェースクラス内にあるメソッドを全てオーバーライドしなければならない。
 →今後インターフェースクラスを継承して作成されたクラスは、インターフェースクラスに定義されているメソッドを全て持つことを「約束」しています。
#highlighter(java,number){{
// Sportsインターフェースクラスを継承
public class Soccer implements Sports {
    // Soccerクラスは、Sportsクラスに定義されているメソッドを全て定義(オーバーライド)しなければならない。
	@Override
	public void winMessage() {
	}

	@Override
	public void loseMessage() {
	}

	@Override
	public String getRule() {
	}

	@Override
	public void setRule(String rule) {
	}

}
}}
-- インターフェースクラスの多重継承を許可する。
#highlighter(java,number){{
// インターフェースクラスの宣言
public interface Human{
    // メソッドの型のみ定義し、中身を一切記載しない。
    // メソッドの宣言
    public void speek();
    // メソッドの宣言
    public void listen();
}

// Sports,Human 複数のインターフェース継承
public class Soccer implements Sports,Human {
	@Override
	public void winMessage() {
	}

	@Override
	public void loseMessage() {
	}

	@Override
	public String getRule() {
	}

	@Override
	public void setRule(String rule) {
	}

	@Override
	public void speek() {
	}

	@Override
	public void listen() {
	}
}
}}

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS