java程序員修鍊之路基礎篇六:static、final、abstract

Java程序員修鍊之路基礎篇六:static、final、abstract

上一篇文章我們聊了"介面"的用法,今天我們聊一下static、final和abstract它們三個修飾符的用法,這三個修飾符在java開發中經常遇到,能清晰掌握它們的概念和用法對開發人員來說很重要。

首先從static修飾符開始,static修飾符經常被稱為"靜態"修飾符,簡單的說就是由static修飾的內容會隨著類的載入而載入。static修飾的屬性具備以下幾個特點:1.能夠在同一個類的對象之間共享。2.既可以通過對象名點取進行訪問,也可以通過類名點取直接訪問。3.只能用static修飾成員屬性,不能修飾局部屬性。看一個實例:

Advertisements

static還能修飾方法,由static修飾的方法稱為"靜態方法"或"類方法"。static修飾的方法具備以下幾個特點:1.可以通過類的名字直接點取加以訪問。2.不能被子類重寫。3.不能直接訪問外部非static元素。4.static修飾的方法體內不能使用super和this關鍵字。看一個實例:

static還能單獨修飾一個代碼塊,稱為"static塊"或者"靜態塊",它的特點是隨著類的載入而載入,但是只載入一次。它的功能介於方法和構造器之間。static方法在下一篇關於"多態"的文章中還有闡述。看一個實例:

下面我們聊一下關於final修飾符的使用,final能修飾屬性、方法和類,總結一下:1.由final修飾的屬性稱為"常量",在程序的執行過程中不能修改它的賦值。2.由final修飾的方法不能被子類重寫。3.由final修飾的類不能被繼承。看一個實例:

Advertisements

例子中"常量"PORT在進行二次賦值時,系統報錯了。另外"常量"的命名通常是全部大寫,以下劃線來分割多個單詞,這是一個約定並不是規定。

最後我們聊一下關於abstract修飾符的使用,它主要修飾方法和類。由abstract修飾的方法稱為"抽象"方法,只有定義,沒有方法實現體。我們在"介面"中定義的方法都是"抽象"的,由於"介面"中有隱含定義,所以我們並不需要為每個方法前加abstract修飾符。

而由abstract修飾的類稱為"抽象類",它就是我們在前面文章中提到的"半抽象"。之所以稱為"半抽象"是因為"抽象類"中即可以定義抽象方法也可以定義實體方法,而且通常一個"抽象"類中這兩種方法一定會同時出現。總結一下"抽象類"的特點:1.抽象類中可以定義構造器,但是不能創建"抽象類"的對象。2.抽象類可以實現"介面"。3.抽象類的意義在於被實體類繼承,繼承抽象類的實體類必須實現其中的"抽象方法"。看一個實例:

static、final和abstract在後面的文章中依然會有涉及,掌握它們的概念和用法對理解後續的很多概念非常重要。下一篇文章我終於可以跟大家聊一聊"多態"了,請大家持續關注。

Advertisements

你可能會喜歡