以下關於final關鍵字說法錯誤的是(A,C)(兩項)
A) final是java中的修飾符,可以修飾類、接口、抽象類、方法和屬性
B) final修飾的類肯定不能被繼承
C) final修飾的方法不能被重載
D) final修飾的變量不允許被再次賦值
一、final關鍵字可以用來修飾類、方法、變量。各有不同。
A、修飾類(class)。
1、該類不能被繼承。
2、類中的方法不會被覆蓋,因此默認都是final的。
3、用途:設計類時,如果該類不需要有子類,不必要被擴展,類的實現細節不允許被改變,那么就設計成final類
B、修飾方法(method)
1、該方法可以被繼承,但是不能被覆蓋。
2、用途:一個類不允許子類覆蓋該方法,則用final來修飾
3、好處:可以防止繼承它的子類修改該方法的意義和實現;更為高效,編譯器在遇到調用fianal方法轉入內嵌機制,提高了執行效率。
4、注意:父類中的private成員方法不能被子類覆蓋,因此,private方法默認是final型的(可以查看編譯后的class文件)
C、修飾變量(variable)
1、用final修飾后變為常量。包括靜態變量、實例變量和局部變量這三種。
2、特點:可以先聲明,不給初值,這種叫做final空白。但是使用前必須被初始化。一旦被賦值,將不能再被改變。
D、修飾參數(arguments)
1、用final修飾參數時,可以讀取該參數,但是不能對其作出修改
二、final關鍵字不能用來抽象類和接口。
原文鏈接: https://blog.csdn.net/qq_31307253/article/details/78235964