A. 下列選項中,關於java的抽象方法和抽象類說法錯誤的是( )。
C。
java中的抽象方法是指的只有定義沒有實現的方法。
如介面中定義的方法;如抽象類中用abstract修飾的方法。
new一個實例指向抽象類,這個在JAVA當中叫做多態性。當一個子類的實例指向父抽象類的時候,那麼父抽象類所定義的一個沒有被實例化的對象就可以使用父抽象類當中所有的被子類實現的抽象方法,但是不可以使用子類新加入的方法。
(1)java抽象方法是什麼擴展閱讀:
在抽象類中定義的方法稱為抽象方法,這些方法只有方法頭的聲明,用一個分號來代替方法體的定義,即只定義成員方法的介面形式,沒有具體操作。只有派生類對抽象成員方法的重定義才能真正實現與該派生類相關的操作。
在各子類繼承了父類的抽象方法之後,再分別用不同的語句和方法體來重新定義它,形成若干個名字相同、返回值相同、參數列表相同、目的一致但是具體實現有一定差別的方法。
B. 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
C. Java中什麼叫做抽象方法只需聲明,而不需實現
實現是針對其子類:例如
public abstract class Father{
//只申明,不實現
public abstract void show();
}
public class Child extends Father{
//實現
public void show{
System.out.println("show method!");
}
}
實現了方法,不覺得么?
你看父類的方法
public abstract void show();
只是做了聲明,並沒有方法體。
在其子類中:
public void show{
System.out.println("show method!");
}
實現了方法內部功能,我只是輸出一句話,當然你可以做其他功能。
D. java里的抽象方法是怎麼定義的
1 用abstract關鍵字來修飾一個類時,這個類叫做抽象類;用abstract來修飾一個方法時,該方法叫做抽象方法。例如 :
abstract class Animal { //用abstract來定義一個Animal為抽象類
}
public abstract void enjoy(); //用abstract來定義一個抽象方法"enjoy"
E. 在java中,什麼是抽象類和抽象方法,創建有何作用
抽象類就是不能使用new方法進行實例化的類,即沒有具體實例對象的類。抽象類有點類似「模板」的作用,目的是根據其格式來創建和修改新的類。對象不能由抽象類直接創建,只可以通過抽象類派生出新的子類,再由其子類來創建對象。當一個類被聲明為抽象類時,要在這個類前面加上修飾符abstract。 在抽象類中的成員方法可以包括一般方法和抽象方法。抽象方法就是以abstract修飾的方法,這種方法只聲明返回的數據類型、方法名稱和所需的參數,沒有方法體,也就是說抽象方法只需要聲明而不需要實現。當一個方法為抽象方法時,意味著這個方法必須被子類的方法所重寫,否則其子類的該方法仍然是abstract的,而這個子類也必須是抽象的,即聲明為abstract。 抽象類中不一定包含抽象方法,但是包含抽象方法的類一定要被聲明為抽象類。抽象類本身不具備實際的功能,只能用於派生其子類。抽象類中可以包含構造方法,但是構造方法不能被聲明為抽象。 抽象類不能用final來修飾,即一個類不能既是最終類又是抽象類。 abstract不能與private、static、final、native並列修飾同一個方法。 程序舉例:abstract class Animal //定義抽象類
{
String str; Animal(String s) //定義抽象類的一般方法
{ str=s; } abstract void eat(); //定義抽象方法}class Horse extends Animal //定義繼承Animal的子類
{ String str; Horse(String s)
{ super(s); //調用父類的構造方法 } void eat() //重寫父類的抽象方法
{ System.out.println("馬吃草料!"); }}class Dog extends Animal
{ String str; Dog(String s)
{ super(s); } void eat()
{ System.out.println("狗吃骨頭!"); }}class test
{ public static void main(String args[])
{ Horse Horse1 = new Horse("馬"); Dog Dog1 = new Dog("狗"); Horse1.eat(); Dog1.eat(); }}運行結果: 馬吃草料! 狗吃骨頭!