final類功能概述
final類可以修飾引用、類、方法
修飾引用
①:如果此引用是基本數據類型或者是string,則該引用是常量,該值無法修改
②:如果引用是引用數據類型,比如:對象、數組,則該數組、對象本身可以修改,但是指向該對象、引用的地址不能修改
③:如果引用是成員變量,則必須在聲明的時候賦值,否則會報錯
修飾方法
當修飾方法的時候,這個方法將成爲最終的方法,無法被子類重寫,但是可以被繼承,被final修飾的方法可以防止子類修改其方法實現的意義,final方法執行效率一般要優於普通方法,
class Person {
public final void say() {
System.out.println("hello....");
}
public void eat() {
System.out.println("world...");
}
}
class Teacher extends Person {
//1. final修飾的方法不能被重寫,但此方法仍然被繼承
/*@Override
public void say() {
System.out.println(".0001..");
}*/
public void eat() {
System.out.println(".002..");
}
}
public class Demo02 {
public static void main(String[] args) {
Teacher t = new Teacher();
t.say();
}
}
當final修飾類的時候,該類成爲最終類,無法被繼承,更不能重寫,並且,類中的方法和屬性都是final類型,
String就是個final修飾的類