<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一篇文章帶你弄懂final關(guān)鍵字的相關(guān)知識

          共 2926字,需瀏覽 6分鐘

           ·

          2021-01-07 22:07

          點(diǎn)擊上方“Java進(jìn)階學(xué)習(xí)交流”,進(jìn)行關(guān)注

          后臺回復(fù)“Java”即可獲贈Java學(xué)習(xí)資料

          昔日長城戰(zhàn),咸言意氣高。

              前面幾篇文章用Java帶大家一起了解Java的部分基礎(chǔ)知識,感興趣的小伙伴們可以去學(xué)習(xí)下了,一篇文章帶你了解Java類的設(shè)計(jì)和封裝及類成員的訪問控制一篇文章帶你了解this關(guān)鍵字和單例模式Java基礎(chǔ)入門篇——面向?qū)ο蠛皖惖亩x,這篇文章帶大家一起學(xué)習(xí)下final關(guān)鍵字。


          一、final關(guān)鍵字

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

          2.final關(guān)鍵字修飾類、修飾方法、修飾變量的特點(diǎn)

          final關(guān)鍵字修飾類:不能被別的類繼承;

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

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


          二、final關(guān)鍵字修飾類

          1.當(dāng)類被final關(guān)鍵字修飾,表示這個(gè)類是不能被繼承的。

          2.final關(guān)鍵字修飾類例子

          //定義Fruit類final class Fruit{//info()方法public void info(){        System.out.print("fruit");  }}//定義Cherry繼承Fruit類class Cherry extends Fruit{//infor()方法public void info(){        System.out.print("cherry");  }}public class p24 {public static void main(String[] args) {        // TODO Auto-generated method stub        Cherry c=new Cherry();//實(shí)例化子類Cherry對象        c.info();//調(diào)用info()方法  }}

          輸出的結(jié)果是:

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


          三、final關(guān)鍵字修飾方法

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

          2.final關(guān)鍵字修飾方法案例

          //定義Fruit類class Fruit{//使用final修飾info()方法public final void info(){        System.out.print("fruit");  }}//定義Cherry繼承Fruit類class Cherry extends Fruit{//重寫Fruit類的info()方法public void info(){        System.out.print("cherry");  }}
          public class p24 {public static void main(String[] args) { // TODO Auto-generated method stub Cherry c=new Cherry();//實(shí)例化子類Cherry對象 c.info();//調(diào)用info()方法 }}

          3.運(yùn)行的結(jié)果是:

          從上面的代碼中編譯結(jié)果是錯(cuò)誤的,因?yàn)镃herry類重寫Fruit類的info()方法,我們可以看到final關(guān)鍵字修飾Fruit類的info()方法,所以final關(guān)鍵字修飾的方法是最終的,子類是不能對這個(gè)方法進(jìn)行重寫的。如果父類定義的某個(gè)方法,不想讓子類重寫,就可以使用這個(gè)final關(guān)鍵字修飾方法。


          四、final關(guān)鍵字修飾變量

          1.final關(guān)鍵字修飾變量時(shí),變量就變成常量,也就是一旦被賦值,就不能重新賦值。

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

          3.final關(guān)鍵字修飾局部變量,可以在定義時(shí)指定初始值,也可以不指定初始值。

          4.final關(guān)鍵字修飾局部變量的例子

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

          上面代碼中會出現(xiàn)編譯錯(cuò)誤,因?yàn)槭侵匦陆oi賦值,用final關(guān)鍵字修飾int類型變量i,被final關(guān)鍵字修飾的變量為常量,只能被賦值一次,不可以被重新賦值,i是基本數(shù)據(jù)類型,i的內(nèi)容是值。

          5.final關(guān)鍵字修飾成員變量例子

          //定義Fruit類class Fruit{  final String name;//final關(guān)鍵字修飾name屬性  double weight=66;//水果的重量weight屬性  //info()方法打印水果信息  public final void info(){    System.out.print("我是一個(gè)"+name+"重量為:"+weight+"g!");  }}
          public class p24 { public static void main(String[] args) { // TODO Auto-generated method stub Fruit f=new Fruit();//實(shí)例化Fruit對象 f.info();//調(diào)用info()方法 }}

          運(yùn)行的結(jié)果是:

          從上面的運(yùn)行結(jié)果我們可以看到編譯是錯(cuò)誤的,因?yàn)閒inal關(guān)鍵字修飾的成員變量,在定義的時(shí)要給它一個(gè)初始值。


          五、總結(jié)

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

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

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

          希望大家通過本文的學(xué)習(xí),對你有所幫助!

          ------------------- End -------------------

          往期精彩文章推薦:

          歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

          想加入Java學(xué)習(xí)群請?jiān)诤笈_回復(fù)【入群

          萬水千山總是情,點(diǎn)個(gè)【在看】行不行

          瀏覽 47
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  人人射天天操 | 在线观看黄色网页 | 三级黄色电影网站 | 欧美三级成人 | 中文字幕 日韩 欧美 |