java抽象方法
⑴ 關於java抽象方法
下面是抽象方法聲明時採用的語法:abstract void f();
如果從一個抽象類繼承,而且想生成新類型的一個對象,就必須為基礎類中的所有抽象方法提供方法定義。如果不這樣做(完全可以選擇不做),則衍生類也會是抽象的,而且編譯器會強迫我們用abstract 關鍵字標志那個類的「抽象」本質。即使不包括任何abstract 方法,亦可將一個類聲明成「抽象類」。如果一個類沒必要擁有任何抽象方法,而且我們想禁止那個類的所有實例,這種能力就會顯得非常有用。
在面向對象的概念中,我們知道所有的對象都是通過類來描繪的,但是反過來卻不是這樣。並不是所有的類都是用來描繪對象的,如果一個類中沒有包含足夠的信息來描繪一個具體的對象,這樣的類就是抽象類。
抽象類往往用來表徵我們在對問題領域進行分析、設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象。比如:如果我們進行一個圖形編輯軟體的開發,就會發現問題領域存在著圓、三角形這樣一些具體概念,它們是不同的,但是它們又都屬於形狀這樣一個概念,形狀這個概念在問題領域是不存在的,它就是一個抽象概念。正是因為抽象的概念在問題領域沒有對應的具體概念,所以用以表徵抽象概念的抽象類是不能夠實例化的。在面向對象領域,抽象類主要用來進行類型隱藏。我們可以構造出一個固定的一組行為的抽象描述,但是這組行為卻能夠有任意個可能的具體實現方式。這個抽象描述就是抽象類,而這一組任意個可能的具體實現則表現為所有可能的派生類。模塊可以操作一個抽象體。由於模塊依賴於一個固定的抽象體,因此它可以是不允許修改的;同時,通過從這個抽象體派生,也可擴展此模塊的行為功能。熟悉OCP的讀者一定知道,為了能夠實現面向對象設計的一個最核心的原則OCP(Open-Closed Principle),抽象類是其中的關鍵所在。
⑵ java 抽象怎麼理解
抽象是一種面向對象的編程實踐的核心原則, Java具有所有OOPs原則,抽象是一個Java語言的主要構建塊。
數據抽象的跨度從創建簡單的數據對象集合的實現復雜如HashMap或HashSet。
控制抽象是結構化編程背後主要驅動力。
⑶ java怎麼調用抽象類方法創建列表
1、publicabstractclassCall{undefined。
2、,undefined。
3、Connectionearliest=null。
4、以上就是java用java調用抽象類方法創建列表的方法。
⑷ java抽象類
其實狠好理解,因為抽象類包括抽象方法和非抽象方法。
如果父類是一個抽象類,當子類繼承父類的時候,要實現抽象的方法,如果不實現的話,那麼子類就必須是一個抽象的類。
⑸ java 抽象方法 可以有參數嗎
肯定可以啊,抽象方法一般存在於抽象類中
而抽象類就將所有基礎子類的共有特性抽離出來,避免代碼重復。
所以抽象類就是用來作為父類讓子類繼承的
子類可以去重寫父類的方法,擴展自己特有的方法
⑹ java中什麼叫抽象方法和抽象類及他們的特點,說的具體些,寫個例子
7.何為抽象方法和抽象類?
馬克
-to
-win:方法前有個abstract修飾符,就叫抽象方法。類前有個abstract修飾符就是抽象類,完了,簡單就好記。
以下是二者的要點:馬
克
-to
-w
in
:
1)抽象方法沒有函數體。有童鞋說,這有什麼意義呢?比如下面的例子,當我們不知道現在是什麼車時,你讓我寫駕駛(steer)這個方法,我怎麼寫呢?這種場合就需要抽象方法。
2)抽象類(Veh)的子類(Lim)只要不是抽象類,馬克-to-win:它自己(Lim)或它的父類(Car)必須把那個抽象類里的抽象方法全部實現掉。這句話很復雜,對照下面的例子來理解。
3)抽象類不能被實例化。字面上好理解,抽象的東西那麼抽象,看不見摸不著,當然不能被實際的具體的生成了。還是舉上面的例子。當我們現在連什麼車都不知道時,也不知道它是自行車還是豪華轎車時,你讓我具體地生成這輛車,當然是不可能了。。。。。。。。。。。詳情網上找「馬克-to-win」,參考他的網站或他的網路空間:java第三章的內容,如果實在找不到,按我下面說的地址找:
網站名是:mark-to-win.com
再附加上下邊的路徑地址:
/JavaBeginner/JavaBeginner3_web.html#AbstractMethodClass
⑺ Java中什麼叫做抽象方法只需聲明,而不需實現
抽象方法,顧名思義就是抽象的,只不過是有這么個東西,但是具體的實現是沒有的。
舉例:抽象的東西「食物」(汽車、動物等等),它就是一類東西的總稱,聲明一個東西是食物,肯定會聯想到米飯、饅頭、花捲等等,而這些東西才是真實存在的,它們才是食物的具體展現。
抽象方法定義:java中的抽象方法就是以abstract修飾的方法,這種方法只聲明返回的數據類型、方法名稱和所需的參數,沒有方法體,也就是說抽象方法只需要聲明而不需要實現。
⑻ java中抽象的方法(abstract)有什麼作用
抽象類、就是一個用abstract修飾的類,在這個類中、你可以定義一些不需要具體實現的方法、也就是沒有方法體的方法、這些方法叫做抽象方法、當一個類要繼承這個抽象類時、就必須要實現這些抽象方法、。當你在做一個比較復雜的項目時、一些簡單的方法就可以馬上寫出來、但一些復雜的方法、在不同的類中需要不同的實現、那麼這個時候就需要用到抽象類的。。。
⑼ java 抽象方法可以是static嗎
static是靜態的。抽象方法的目的是希望子類重寫(其實也不能叫重寫,應該叫實現)這個抽象方法。而你又定義為static,這里就出現一個問題:static的方法能直接通過類名調用,而你這個方法沒有具體的實現,這里就會自相矛盾,所以抽象方法不能用static修飾。