- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2018-08-28T16:38:25+09:00","ldap:pandora"," pandora")
#author("2018-08-28T18:31:30+09:00","ldap:pandora"," pandora")
[[Java]]
* ''インターフェース'' [#y487b414]
#contents
- インターフェースクラスとは
クラス内に、含まれるメソッドに具体的な内容を記述せず、変数とメソッドの型のみを定義したクラス。
#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() {
}
}
}}