鄭州java培訓
鄭州文化路中心

400-8765-661

鄭州java培訓抽象類:abstract

  • 時間:2017-03-31 15:52
  • 發布:鄭州Java培訓機構
  • 來源:達內課程

鄭州Java培訓班的老師今天給大家講java抽象類:abstract的一些知識點.

抽象類:abstract

抽象:不具體,看不明白。抽象類表象體現。

在不斷抽取過程中,將共性內容中的方法聲明抽取,但是方法不一樣,沒有抽取,這時抽取到的方法,并不具體,需要被指定關鍵字abstract所標示,聲明為抽象方法。

抽象方法所在類一定要標示為抽象類,也就是說該類需要被abstract關鍵字所修飾。

抽象類的特點:

1:抽象方法只能定義在抽象類中,抽象類和抽象方法必須由abstract關鍵字修飾(可以描述類和方法,不可以描述變量)。

2:抽象方法只定義方法聲明,并不定義方法實現。

3:抽象類不可以被創建對象(實例化)。

4:只有通過子類繼承抽象類并覆蓋了抽象類中的所有抽象方法后,該子類才可以實例化。否則,該子類還是一個抽象類。

抽象類的細節:

1:抽象類中是否有構造函數?有,用于給子類對象進行初始化。

2:抽象類中是否可以定義非抽象方法?

可以。其實,抽象類和一般類沒有太大的區別,都是在描述事物,只不過抽象類在描述事物時,有些功能不具體。所以抽象類和一般類在定義上,都是需要定義屬性和行為的。只不過,比一般類多了一個抽象函數。而且比一般類少了一個創建對象的部分。

3:抽象關鍵字abstract和哪些不可以共存?final , private , static

4:抽象類中可不可以不定義抽象方法?可以。抽象方法目的僅僅為了不讓該類創建對象。

-----------------------------------------------------------------------------------------------

模板方法設計模式:

解決的問題:當功能內部一部分實現時確定,一部分實現是不確定的。這時可以把不確定的部分暴露出去,讓子類去實現。

abstract class GetTime{

public final void getTime(){ //此功能如果不需要復寫,可加final限定

long start = System.currentTimeMillis();

code(); //不確定的功能部分,提取出來,通過抽象方法實現

long end = System.currentTimeMillis();

System.out.println("毫秒是:"+(end-start));

}

public abstract void code(); //抽象不確定的功能,讓子類復寫實現

}

class SubDemo extends GetTime{

public void code(){ //子類復寫功能方法

for(int y=0; y<1000; y++){

System.out.println("y");

}

}

}

州java培訓班--達內幫你少走彎路,智勝職場!

如果你還有這些疑問歡迎咨詢鄭州java培訓(www.ccietalk.com)專家。

如果想學習的同學可以參加鄭州達內java培訓,免費試聽,或周末免費參加鄭州達內java培訓公開課程試聽!

上一篇: 鄭州java培訓:如何使用Commons Pool
下一篇:鄭州java培訓專家:java學習——語句

【java學習系列】java靜態內部類

Java學習路線圖,其五個必經階段

Java基礎與面向對象

鄭州java培訓專家:java學習——語句

選擇城市和中心
江西省

貴州省

廣西省

海南省

色先锋玖玖AV资源部