java簡介以及迅速了解java(九)

2021-08-30 04:00:32 字數 1601 閱讀 5950

abstract(抽象)修飾符,可以修飾類和方法

1, abstract修飾類,會使這個類成為乙個抽象類,這個類將不能生成物件例項,可以做為物件引用宣告的型別,就是編譯時型別,抽象類就相當於一類的半成品,需要子類繼承並覆蓋其中的抽象方法。

例:

public abstract class test

……….

}

2, abstract修飾方法,會使這個方法變成抽象方法,只有宣告(定義)沒有實現,實現部分以";"代替。需要子類繼承實現(覆蓋)。

例:

public abstract class test

abstract修飾方法就是要求子類覆蓋(實現)這個方法。呼叫時以多型方式呼叫子類覆蓋(實現)的方法,抽象方法必須在其子類中實現,除非子類本身也是抽象類。

注意:1) 有抽象方法的類一定是抽象類。但是抽象類中不一定都是抽象方法,也可以全是具體方法。abstract修飾符在修飾類時必須放在類名前。

2) 父類是抽象類,其中有抽象方法,那麼子類繼承父類,並把父類中的所有抽象方法都實現(覆蓋)了,子類才有建立物件的例項的能力,否則子類也必須是抽象類。抽象類中可以有構造方法,是子類在構造子類物件時需要呼叫的父類(抽象類)的構造方法。

修飾符組合使用問題

final和abstract,private和abstract,static和abstract,這些是不能放在一起的修飾符,因為abstract修飾的方法是必須在其子類中實現(覆蓋),才能以多型方式呼叫,以上修飾符在修飾方法時期子類都覆蓋不了這個方法,final是不可以覆蓋,private是不能夠繼承到子類,所以也就不能覆蓋,static是可以覆蓋的,但是在呼叫時會呼叫編譯時型別的方法,因為呼叫的是父類的方法,而父類的方法又是抽象的方法,又不能夠呼叫,所以上的修飾符不能放在一起。

抽象(abstract)方法代表了某種標準,定義標準,定義功能,在子類中去實現功能(子類繼承了父類並需要給出從父類繼承的抽象方法的實現)。

方法一時間想不到怎麼被實現,或有意要子類去實現而定義某種標準,這個方法可以被定義為抽象。(abstract)

模板方法模式

用abstract把制訂標準和實現標準分開,制定的標準就是模板,實現就是按模板標準來實現,繼承模板,實現模板中相應功能的方法。模板中不允許修改的方法用final來修飾,這個方法不能是方法,為保證安全,模板類中不公開的部分

用protected(保護)修飾。

例:

public class testtemplatemethod

}abstract class xiaopin

}class zuyu extends xiaopin

protected void xushi()

protected void gaoxiao()

protected void shanqing()

}class rangyirang extends xiaopin

protected void xushi()

protected void gaoxiao()

protected void shanqing()

/*protected void act()

*/}

了解Java加密

可逆加密 1.對稱加密 加密金鑰和解密的金鑰一樣 des 金鑰長度 56位 3des 金鑰長度 168位 aes 金鑰長度 128位 192位 256位 2.非對稱加密 加密金鑰和解密的金鑰不一樣 公鑰 和 私鑰 加密演算法 公鑰加密 私鑰解密 簽名演算法 私鑰簽名 公鑰驗籤 rsa 1024 rs...

基礎java了解

1.list arrylist 初始10 載入因子0.5 擴容0.5 1 vector 初始10 載入因子1 擴容1 set 初始16 載入因子0.75 擴容1 map 初始16 載入因子0.75 擴容1 2.hashtable 是加鎖的 在多執行緒 只有乙個可以訪問物件 所以就安全,hashmap...

簡單了解java集合

首先我放一張前輩畫的圖,大家可以大致看一下,了解一下 1 map與list set沒有任何關係 2 list與set的父介面是collection,而map的父介面不是collection 3 collection下還有乙個不是經常用的queue集合 4 collection的父介面是iterato...