final
キーワードをクラスに付与した場合は継承不可になります。
Oya.java
public final class Oya {
void methodA(){
System.out.println("親クラスのメソッドAです。");
}
void methodB(){
System.out.println("親クラスのメソッドBです。");
}
}
Kodomo.java
public class Kodomo extends Oya{ //ここでコンパイルエラー
}
final
キーワードをメソッドに付与した場合はオーバーライド不可になります。
Oya.java
public class Oya {
void methodA(){
System.out.println("親クラスのメソッドAです。");
}
final void methodB(){
System.out.println("親クラスのメソッドBです。");
}
}
Kodomo.java
public class Kodomo extends Oya{
@Override
void methodA(){
System.out.println("子クラスのメソッドAです。");
}
@Override
void methodB(){//ここでコンパイルエラー。
System.out.println("子クラスのメソッドBです。");
}
}
final
キーワードをフィールドに付与した場合は再代入不可になります。
Java
final String str = "final";
public static void main(String[] args) {
str = "aiueo";//ここでコンパイルエラー。
}
}
final
キーワードをフィールドに付与した場合と同じく、メソッド内での再代入が不可になります。
Java
public static void main(String[] args) throws Exception {
int x = 10;
int y = 10;
System.out.println(calc(x,y));
}
private static int calc(int x, final int y) {
x = 20;
y = 50; //ここでコンパイルエラー
return x + y;
}
以上で記事の解説はお終い!
もっとJavaやSpringを勉強したい方にはUdemyがオススメ!同僚に差をつけよう!