public class Book implements Printable {
@Override
public void print() {
System.out.println("This is a book.");
}
// ä»–ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚„ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’è¿½åŠ ã—ã¦ã‚‚良ã„
}
ã“ã®ã‚¯ãƒ©ã‚¹ã¯ Printable インターフェイスを実装ã—ã¦ã„ã¾ã™ã€‚ãã—ã¦ã€print メソッドã§ã¯ã€ã€ŒThis is a book.ã€ã¨ã‚³ãƒ³ã‚½ãƒ¼ãƒ«ã«è¡¨ç¤ºã™ã‚‹å˜ç´”ãªå®Ÿè£…ãŒã•れã¦ã„ã¾ã™ã€‚ã“ã®ã‚ˆã†ã«ã—ã¦ã€Book クラス㯠Printable インターフェイスã®è¦æ±‚ã«å¾“ã£ã¦ã„ã¾ã™ã€‚
インターフェイスã®å®Ÿè£…
インターフェイスã®å®Ÿè£…ã¯ã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイスã§å®£è¨€ã•れãŸãƒ¡ã‚½ãƒƒãƒ‰ã‚’クラスã§å…·ä½“çš„ãªå®Ÿè£…ã‚’æä¾›ã™ã‚‹ã“ã¨ã§ã™ã€‚以下ã«ãã®åŸºæœ¬çš„ãªæ¦‚念をã¾ã¨ã‚ã¾ã™ã€‚
- インターフェイスã®å®£è¨€:
interface Printable {
void print();
}
- インターフェイスã®å®Ÿè£…:
public class Book implements Printable {
@Override
public void print() {
System.out.println("This is a book.");
}
}
インターフェイスを実装ã™ã‚‹ã‚¯ãƒ©ã‚¹ã¯ã€implements ã‚ーワードを使用ã—ã¦å®£è¨€ã—ã¾ã™ã€‚
インターフェイスã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’クラスã§å®Ÿè£…ã™ã‚‹ã«ã¯ã€@Override アノテーションを使用ã—ã¾ã™ã€‚
- インターフェイスã®è¤‡æ•°å®Ÿè£…:
public class Magazine implements Printable, Distributable {
@Override
public void print() {
System.out.println("This is a magazine.");
}
@Override
public void distribute() {
System.out.println("Distributing the magazine.");
}
}
クラスãŒè¤‡æ•°ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイスを実装ã™ã‚‹å ´åˆã€ã‚«ãƒ³ãƒžã§åŒºåˆ‡ã£ã¦åˆ—挙ã—ã¾ã™ã€‚
å„インターフェイスã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’実装ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
- インターフェイスã®ãƒ‡ãƒ•ォルトメソッド:
interface Printable {
void print();
default void preview() {
System.out.println("Previewing...");
}
}
インターフェイスã«ã¯ãƒ‡ãƒ•ォルトメソッドをå«ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
クラスãŒã“ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイスを実装ã™ã‚‹éš›ã«ã€ãƒ‡ãƒ•ォルトメソッドをオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã™ã‚‹ã“ã¨ã¯ä»»æ„ã§ã™ã€‚
インターフェイスã®å®Ÿè£…を通ã˜ã¦ã€ç•°ãªã‚‹ã‚¯ãƒ©ã‚¹ãŒå…±é€šã®æŒ¯ã‚‹èˆžã„や契約をæŒã¤ã“ã¨ãŒã§ãã¾ã™ã€‚ã“れã¯ãƒ—ãƒã‚°ãƒ©ãƒ ã®æŸ”è»Ÿæ€§ã¨æ‹¡å¼µæ€§ã‚’å‘上ã•ã›ã€ç•°ãªã‚‹ã‚¯ãƒ©ã‚¹ã‚’åŒã˜åž‹ã¨ã—ã¦æ‰±ã†ãƒãƒªãƒ¢ãƒ¼ãƒ•ã‚£ã‚ºãƒ ã®æ¦‚念ã«è²¢çŒ®ã—ã¾ã™ã€‚
「017 インターフェイスã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント