是的,Java類方法可以是最終的(final)。當一個類方法被聲明為final時,它不能被子類覆蓋(override)。這意味著在繼承該類的子類中,不能提供該方法的新實現。這有助于確保在多態的情況下,某些方法的實現不會被改變。
以下是一個簡單的示例:
class Animal {
public final void makeSound() {
System.out.println("The animal makes a sound");
}
}
class Dog extends Animal {
// 編譯錯誤:不能覆蓋final方法
// @Override
// public void makeSound() {
// System.out.println("The dog barks");
// }
}
在這個例子中,Animal
類中的 makeSound
方法被聲明為 final,因此 Dog
類不能覆蓋它。如果嘗試這樣做,編譯器將報錯。