final 不能修飾抽象類和接口


以下關於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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM