關(guān)鍵字: abstract, interface, final, static
一,抽象類:abstract
1,只要有一個或一個以上抽象方法的類,必須用abstract聲明為抽象類; 2,抽象類中可以有具體的實現(xiàn)方法; 3,抽象類中可以沒有抽象方法; 4,抽象類中的抽象方法必須被它的子類實現(xiàn),如果子類沒有實現(xiàn),則該子類繼續(xù)為抽象類 5,抽象類不能被實例化,但可以由抽象父類指向的子類實例來調(diào)用抽象父類中的具體實現(xiàn)方法;通常作為一種默認行為; 6,要使用抽象類中的方法,必須有一個子類繼承于這個抽象類,并實現(xiàn)抽象類中的抽象方法,通過子類的實例去調(diào)用; 二,接口:interface 1,接口中可以有成員變量,且接口中的成員變量必須定義初始化; 2,接口中的成員方法只能是方法原型,不能有方法主體; 3,接口的成員變量和成員方法只能public(或缺省不寫),效果一樣,都是public 4,實現(xiàn)接口的類必須全部實現(xiàn)接口中的方法(父類的實現(xiàn)也算,一般有通過基類實現(xiàn)接口中個異性不大的方法來做為適配器的做法) 三,關(guān)鍵字:final 1,可用于修飾:成員變量,非抽象類(不能與abstract同時出現(xiàn)),非抽象的成員方法,以及方法參數(shù) 2,final方法:不能被子類的方法重寫,但可以被繼承; 3,final類:表示該類不能被繼承,沒有子類;final類中的方法也無法被繼承. 4,final變量:表示常量,只能賦值一次,賦值后不能被修改.final變量必須定義初始化; 5,final不能用于修飾構(gòu)造方法; 6,final參數(shù):只能使用該參數(shù),不能修改該參數(shù)的值; 四,關(guān)鍵字:static 1,可以修飾成員變量和成員方法,但不能修飾類以及構(gòu)造方法; 2,被static修飾的成員變量和成員方法獨立于該類的任何對象。也就是說,它不依賴類特定的實例,被類的所有實例共享 3,static變量和static方法一般是通過類名直接訪問,但也可以通過類的實例來訪問(不推薦這種訪問方式) 4,static變量和static方法同樣適應(yīng)java訪問修飾符.用public修飾的static變量和static方法,在任何地方都可以通過類名直接來訪問,但用private修飾的static變量和static方法,只能在聲明的本類方法及靜態(tài)塊中訪問,但不能用this訪問,因為this屬于非靜態(tài)變量. 五,static和final同時使用 1,static final用來修飾成員變量和成員方法,可簡單理解為“全局常量”! 2,對于變量,表示一旦給值就不可修改,并且通過類名可以訪問。 3,對于方法,表示不可覆蓋,并且可以通過類名直接訪問。 |
|