該文章是觀看https://www.bilibili.com/video/BV1ct411n7oG?p=84視訊的學習筆記。
final修飾符主要有三個作用:
1.修飾變量:final變量無法被改變,一旦被賦初始值就無法重新指派。
public static void main(String[] args) {
final int test = 100;
test=200;//編譯錯誤,無法改變final變量的值
test+=1;//編譯錯誤,無法改變final變量的值
}
2.修飾方法:final方法不能被子類重寫,但能夠被重載。
以下面的代碼為例,子類無法重寫父類的final方法:
class People{
final public void Rest(){
System.out.println("現在是休息時間");
}
}
class Student extends People {
public void Rest(){ //編譯錯誤,無法重寫父類的final方法
System.out.println("學生利用休息的事件看書");
}
public void Rest(int test){ //子類可以重載父類的final方法
System.out.println("學生利用休息的事件看書");
}
}
3.修飾類:final類無法被繼承。如String、Math等官方定義的類。下面的代碼也是一個例子:
final class People{
final public void Rest(){
System.out.println("現在是休息時間");
}
}
class Student extends People {//編譯錯誤,無法繼承final類
}