javaのdefaultキーワードの役割は何ですか?
Javaの「default」キーワードには、その文脈によって異なる3つの異なる使い方があります。
- switch文において、defaultキーワードはデフォルトの状況を示します。switch文の式の値がどのcase文の値とも一致しない場合、プログラムはdefault文のコードを実行します。
int day = 5;
switch (day) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
// ...
default:
System.out.println("Other day");
}
- インターフェースでは、デフォルトキーワードを使用してデフォルトメソッドを定義します。デフォルトメソッドは、インターフェース内でメソッド本体が実装されたものであり、インターフェースの実装クラスでそのまま使用でき、再定義する必要がありません。
public interface MyInterface {
void doSomething();
default void doOtherThing() {
System.out.println("Do other thing");
}
}
public class MyClass implements MyInterface {
@Override
public void doSomething() {
System.out.println("Do something");
}
}
MyClass myObject = new MyClass();
myObject.doSomething(); // 输出:Do something
myObject.doOtherThing(); // 输出:Do other thing
- 注釈では、デフォルトキーワードが使用され、注釈要素のデフォルト値が指定されます。注釈を使用する際、注釈要素に値を指定しない場合は、デフォルト値が使用されます。
public @interface MyAnnotation {
String value() default "Default value";
}
@MyAnnotation
public class MyClass {
// ...
}
MyClass myObject = new MyClass();
MyAnnotation annotation = myObject.getClass().getAnnotation(MyAnnotation.class);
System.out.println(annotation.value()); // 输出:Default value
要点:defaultキーワードの機能は、その文脈によって異なり、デフォルトの状況を示す、デフォルトメソッドを定義する、または注釈要素のデフォルト値を指定することができます。