// Logger インターフェイスã®å®£è¨€
interface Logger {
// デフォルトメソッド log ã®å®£è¨€
default void log(String message) {
System.out.println("Log: " + message);
}
// é™çš„メソッド getDefaultLogger ã®å®£è¨€
static Logger getDefaultLogger() {
return new ConsoleLogger();
}
}
// ConsoleLogger クラスã®å®£è¨€
class ConsoleLogger implements Logger {
// Logger インターフェイスã®ãƒ‡ãƒ•ォルトメソッド log をオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰
@Override
public void log(String message) {
System.out.println("Console Log: " + message);
}
}
// LoggerApp クラスã®å®£è¨€
public class LoggerApp {
public static void main(String[] args) {
// ConsoleLogger クラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’作æˆ
ConsoleLogger consoleLogger = new ConsoleLogger();
// log メソッドを呼ã³å‡ºã—ã¦ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ãƒã‚°ã«å‡ºåŠ›
consoleLogger.log("Hello, Logger!");
// é™çš„メソッド getDefaultLogger を使ã£ã¦ãƒ‡ãƒ•ォルトã®ãƒã‚¬ãƒ¼ã‚’å–å¾—
Logger defaultLogger = Logger.getDefaultLogger();
defaultLogger.log("Using default logger.");
}
}
ã“ã®ä¾‹ã§ã¯ã€Logger インターフェイスãŒãƒ‡ãƒ•ォルトメソッド log ã¨é™çš„メソッド getDefaultLogger ã‚’æŒã£ã¦ã„ã¾ã™ã€‚ConsoleLogger クラス㯠Logger インターフェイスを実装ã—ã€ãƒ‡ãƒ•ォルトメソッド log をオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¦ç‹¬è‡ªã®ãƒã‚°ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’出力ã—ã¾ã™ã€‚LoggerApp クラスã§ã¯ã€ConsoleLogger クラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’作æˆã—ã€log メソッドを呼ã³å‡ºã—ã¦ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ãƒã‚°ã«å‡ºåŠ›ã—ã¦ã„ã¾ã™ã€‚ã¾ãŸã€getDefaultLogger メソッドを使用ã—ã¦ãƒ‡ãƒ•ォルトã®ãƒã‚¬ãƒ¼ã‚’å–å¾—ã—ã€ãã®ãƒã‚¬ãƒ¼ã‚’使ã£ã¦ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’ãƒã‚°ã«å‡ºåŠ›ã—ã¦ã„ã¾ã™ã€‚
「017 インターフェイスã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント