自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一篇文章帶你弄懂Final關鍵字的相關知識

開發(fā) 前端
當Cherry類繼承Fruit類時,編譯出現(xiàn)了“Unresolved compilation problem: The type Cherry cannot subclass the final class Fruit”表示Cherry類型不能將final類水果子類化,所以final修飾的類是不能被別的類繼承的。

[[374361]]

一、final關鍵字

1.如果一個類被final修飾符所修飾,表示該類不可能有子類,這樣的類就叫做最終類。final關鍵字可以修飾類、變量、方法。

2.final關鍵字修飾類、修飾方法、修飾變量的特點

final關鍵字修飾類:不能被別的類繼承;

final關鍵字修飾方法:方法也不能被覆蓋,也就是方法不能被繼承的子類重寫;

final關鍵字修飾變量:成員變量、局部變量是常量,僅一次賦值。

二、final關鍵字修飾類

1.當類被final關鍵字修飾,表示這個類是不能被繼承的。

2.final關鍵字修飾類例子

  1. //定義Fruit類 
  2. final class Fruit{ 
  3. //info()方法 
  4. public void info(){ 
  5.         System.out.print("fruit"); 
  6.   } 
  7. //定義Cherry繼承Fruit類 
  8. class Cherry extends Fruit{ 
  9. //infor()方法 
  10. public void info(){ 
  11.         System.out.print("cherry"); 
  12.   } 
  13. public class p24 { 
  14. public static void main(String[] args) { 
  15.         // TODO Auto-generated method stub 
  16.         Cherry c=new Cherry();//實例化子類Cherry對象 
  17.         c.info();//調用info()方法 
  18.   } 

輸出的結果是:

從上面的編譯結果可以看出是錯誤的,因為final關鍵字修飾Fruit類,當Cherry類繼承Fruit類時,編譯出現(xiàn)了“Unresolved compilation problem: The type Cherry cannot subclass the final class Fruit”表示Cherry類型不能將final類水果子類化,所以final修飾的類是不能被別的類繼承的。

三、final關鍵字修飾方法

1.final關鍵字修飾方法,表示該類的子類的不可以重寫方法。

2.final關鍵字修飾方法案例

  1. //定義Fruit類 
  2. class Fruit{ 
  3. //使用final修飾info()方法 
  4. public final void info(){ 
  5.         System.out.print("fruit"); 
  6.   } 
  7. //定義Cherry繼承Fruit類 
  8. class Cherry extends Fruit{ 
  9. //重寫Fruit類的info()方法 
  10. public void info(){ 
  11.         System.out.print("cherry"); 
  12.   } 
  13.  
  14. public class p24 { 
  15. public static void main(String[] args) { 
  16.         // TODO Auto-generated method stub 
  17.         Cherry c=new Cherry();//實例化子類Cherry對象 
  18.         c.info();//調用info()方法 
  19.   } 

3.運行的結果是:

從上面的代碼中編譯結果是錯誤的,因為Cherry類重寫Fruit類的info()方法,我們可以看到final關鍵字修飾Fruit類的info()方法,所以final關鍵字修飾的方法是最終的,子類是不能對這個方法進行重寫的。如果父類定義的某個方法,不想讓子類重寫,就可以使用這個final關鍵字修飾方法。

四、final關鍵字修飾變量

1.final關鍵字修飾變量時,變量就變成常量,也就是一旦被賦值,就不能重新賦值。

2.final關鍵字修飾成員變量,需要在定義顯示指定初始值。

3.final關鍵字修飾局部變量,可以在定義時指定初始值,也可以不指定初始值。

4.final關鍵字修飾局部變量的例子

  1. final int i = 3;//第一次賦值 
  2. i= 6;//再次賦值 

上面代碼中會出現(xiàn)編譯錯誤,因為是重新給i賦值,用final關鍵字修飾int類型變量i,被final關鍵字修飾的變量為常量,只能被賦值一次,不可以被重新賦值,i是基本數據類型,i的內容是值。

5.final關鍵字修飾成員變量例子

  1. //定義Fruit類 
  2. class Fruit{ 
  3.   final String name;//final關鍵字修飾name屬性 
  4.   double weight=66;//水果的重量weight屬性 
  5.   //info()方法打印水果信息 
  6.   public final void info(){ 
  7.     System.out.print("我是一個"+name+"重量為:"+weight+"g!"); 
  8.   } 
  9.  
  10. public class p24 { 
  11.   public static void main(String[] args) { 
  12.     // TODO Auto-generated method stub 
  13.     Fruit f=new Fruit();//實例化Fruit對象 
  14.     f.info();//調用info()方法 
  15.   } 

運行的結果是:

從上面的運行結果我們可以看到編譯是錯誤的,因為final關鍵字修飾的成員變量,在定義的時要給它一個初始值。

五、總結

本文主要介紹了final關鍵字修飾類、final關鍵字修飾方法、final關鍵字修飾變量。

final關鍵字修飾類說明了是不能被別的類繼承的。final關鍵字修飾方法表示該類的子類的方法是不可以被重寫的。

 

final關鍵字修飾變量時,成員變量、局部變量是常量,僅一次賦值。final關鍵字修飾類、方法、變量也通過案例幫助理解。

本文轉載自微信公眾號「 Java進階學習交流」,可以通過以下二維碼關注。轉載本文請聯(lián)系 Java進階學習交流公眾號。

 

責任編輯:武曉燕 來源: Java進階學習交流
相關推薦

2021-04-23 10:01:19

JavaScript 關鍵字對象

2024-12-26 16:49:20

Python字典元素

2020-12-29 05:31:33

單例模式this關鍵字

2020-12-28 13:22:47

單例模式關鍵字

2021-06-30 10:01:09

Python字典代碼

2022-05-30 18:18:23

NoSQL數據庫

2021-05-20 09:02:59

CSS單位長度

2021-07-03 10:02:30

Python字符串瀏覽器

2021-04-07 06:11:37

Css前端CSS定位知識

2021-07-13 11:37:47

cpu架構Linux

2021-03-21 07:36:43

Python迭代知識語言

2024-04-01 00:00:00

??defer??工具管理

2021-06-23 14:21:06

PythonClassPython基礎

2024-12-19 14:34:29

2018-10-22 12:50:20

CDN網絡內容發(fā)布網絡

2021-06-16 10:03:37

Python案例分析Python基礎

2020-12-10 10:11:52

Javastatic關鍵字

2022-02-21 09:44:45

Git開源分布式

2023-05-12 08:19:12

Netty程序框架

2021-06-30 00:20:12

Hangfire.NET平臺
點贊
收藏

51CTO技術棧公眾號