java的抽象類和抽象方法(注意查看如何調用抽象類中的非抽象方法)


抽象類就是不能使用new方法進行實例化的類,即沒有具體實例對象的類。抽象類有點類似“模板”的作用,目的是根據其格式來創建和修改新的類。對象不能由抽象類直接創建,只可以通過抽象類派生出新的子類,再由其子類來創建對象。當一個類被聲明為抽象類時,要在這個類前面加上修飾符abstract.

 

 

  在抽象類中的成員方法可以包括一般方法和抽象方法。抽象方法就是以abstract修飾的方法,這種方法只聲明返回的數據類型、方法名稱和所需的參數,沒有方法體,也就是說抽象方法只需要聲明而不需要實現。當一個方法為抽象方法時,意味着這個方法必須被子類的方法所重寫,否則其子類的該方法仍然是abstract的,而這個子類也必須是抽象的,即聲明為abstract.

 

 

  抽象類中不一定包含抽象方法,但是包含抽象方法的類一定要被聲明為抽象類。抽象類本身不具備實際的功能,只能用於派生其子類。抽象類中可以包含構造方法,但是構造方法不能被聲明為抽象。

 

 

  調用抽象類中的方法(抽象方法和非抽象方法),如果方法是static的,直接 抽象類。方法  就可以了;如果是非static的則必須需要一個繼承的非抽象類,然后用這個非抽象類的實例來調用方法。

 

 

  抽象類可以實現接口,接口中的方法 在抽象類中可以不實現,當有子類繼承 抽象類時,並且子類不是抽象類時,子類需要將抽象類中的 抽象方法和接口中的方法都實現

  抽象類不能用final來修飾,即一個類不能既是最終類又是抽象類。

 

  總結: abstract不能與private、static、final、native並列修飾同一個方法。

 

注意:子類繼承父類方法后,這個子類對象如果執行方法的話,只要子類重寫了就執行子類的,不執行父類的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM