欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

淺析對Java關(guān)鍵字final和static的理解-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!

成都創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元永嘉做網(wǎng)站,已為上家服務(wù),為永嘉各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108

一、final

            根據(jù)程序上下文環(huán)境,Java關(guān)鍵字final有“這是無法改變的”或者“終態(tài)的”含義,它可以修飾非抽象類、非抽象類成員方法和變量。你可能出于兩種理解而需要阻止改變:設(shè)計或效率。

  • final類不能被繼承,沒有子類,final類中的方法默認(rèn)是final的。
  • final方法不能被子類的方法覆蓋,但可以被繼承。
  • final成員變量表示常量,只能被賦值一次,賦值后值不再改變。
  • final不能用于修飾構(gòu)造方法。

        注意:父類的private成員方法是不能被子類方法覆蓋的,因此private類型的方法默認(rèn)是final類型的。

總的來說,final用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。

1)final修飾類

         當(dāng)用final修飾一個類時,表明這個類不能被繼承,因此final類的成員方法沒有機(jī)會被覆蓋,默認(rèn)都是final的。那也就意味著此類在繼承樹中是一個葉子類,并且此類的設(shè)計已被認(rèn)為很完美而不需要進(jìn)行修改或擴(kuò)展。對于final類中的成員,可以定義其為final,也可以不是final。而對于方法,自然也就成了final型的。在使用final修飾類的時候,要注意謹(jǐn)慎選擇,除非這個類真的在以后不會用來繼承或者出于安全的考慮,盡量不要將類設(shè)計為final類。

2)final修飾方法

   使用final方法的原因有兩個。第一就是說明已經(jīng)知道這個方法提供的功能已經(jīng)滿足要求,不需要進(jìn)行擴(kuò)展,并且也不允許任何從此類繼承而是的子類來覆寫這個方法,但是繼承類仍然可以直接使用這個方法。第二就是高效,編譯器在遇到調(diào)用final方法時候會將所有對此方法的調(diào)用轉(zhuǎn)化為inline調(diào)用的機(jī)制,大大提高執(zhí)行效率。然而當(dāng)方法主體非常龐大時,或在多處調(diào)用此方法時,調(diào)用代碼便會迅速膨脹,可能反而會影響效率,所以要慎用final進(jìn)行方法定義。只有在想明確禁止該方法在子類中被覆蓋的情況下才將方法設(shè)置為final的。例如:

class Test1 { 
 public void f1() { 
  System.out.println("f1"); 
 } 
 //無法被子類覆蓋的方法 
 public final void f2() { 
  System.out.println("f2"); 
 } 
 public void f3() { 
  System.out.println("f3"); 
 } 
 private void f4() { 
  System.out.println("f4"); 
 } 
} 
public class Test2 extends Test1 {  
 public void f1(){  
  System.out.println("Test1父類方法f1被覆蓋!"); 
 } 
 public static void main(String[] args) { 
  Test2 t = new Test2(); 
  t.f1();  
  t.f2(); //調(diào)用從父類繼承過來的final方法 
  t.f3(); //調(diào)用從父類繼承過來的方法 
  //t.f4(); //調(diào)用失敗,無法從父類繼承獲得 
 } 
} 

網(wǎng)頁標(biāo)題:淺析對Java關(guān)鍵字final和static的理解-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://chinadenli.net/article6/cdssog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站設(shè)計、移動網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、網(wǎng)站收錄、網(wǎng)站設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管