java中abstract,interface,final,static的總結,加深理解

一,抽象類:abstractjava

    1,只要有一個或一個以上抽象方法的類,必須用abstract聲明爲抽象類;this

    2,抽象類中能夠有具體的實現方法;對象

    3,抽象類中能夠沒有抽象方法;繼承

    4,抽象類中的抽象方法必須被它的子類實現,若是子類沒有實現,則該子類繼續爲抽象類接口

    5,抽象類不能被實例化,但能夠由抽象父類指向的子類實例來調用抽象父類中的具體實現方法;一般做爲一種默認行爲;原型

    6,要使用抽象類中的方法,必須有一個子類繼承於這個抽象類,並實現抽象類中的抽象方法,經過子類的實例去調用;變量

 

二,接口:interface方法

    1,接口中能夠有成員變量,且接口中的成員變量必須定義初始化;static

    2,接口中的成員方法只能是方法原型,不能有方法主體;參數

    3,接口的成員變量和成員方法只能public(或缺省不寫),效果同樣,都是public

    4,實現接口的類必須所有實現接口中的方法(父類的實現也算,通常有經過基類實現接口中個異性不大的方法來作爲適配器的作法)

 

三,關鍵字:final

   1,可用於修飾:成員變量,非抽象類(不能與abstract同時出現),非抽象的成員方法,以及方法參數

   2,final方法:不能被子類的方法重寫,但能夠被繼承;

   3,final類:表示該類不能被繼承,沒有子類;final類中的方法也沒法被繼承.

   4,final變量:表示常量,只能賦值一次,賦值後不能被修改.final變量必須定義初始化;

   5,final不能用於修飾構造方法;

   6,final參數:只能使用該參數,不能修改該參數的值;

 

四,關鍵字:static

   1,能夠修飾成員變量和成員方法,但不能修飾類以及構造方法;

   2,被static修飾的成員變量和成員方法獨立於該類的任何對象。也就是說,它不依賴類特定的實例,被類的全部實例共享

   3,static變量和static方法通常是經過類名直接訪問,但也能夠經過類的實例來訪問(不推薦這種訪問方式)

   4,static變量和static方法一樣適應java訪問修飾符.用public修飾的static變量和static方法,在任何地方均可以經過類名直接來訪問,但用private修飾的static變量和static方法,只能在聲明的本類方法及靜態塊中訪問,但不能用this訪問,由於this屬於非靜態變量.

 

五,static和final同時使用 

   1,static final用來修飾成員變量和成員方法,可簡單理解爲「全局常量」! 

   2,對於變量,表示一旦給值就不可修改,而且經過類名能夠訪問。 

   3,對於方法,表示不可覆蓋,而且能夠經過類名直接訪問。

相關文章
相關標籤/搜索