面向对象深入:继承03——抽象类
11.4 抽象類——只能作為父類存在,天生當(dāng)爸爸的
抽象類不同于一般的類,它不能生成對(duì)象,只能作為父類存在。
抽象類具有高度抽象的特征,為所有子類提供統(tǒng)一的抽象方法。
11.4.1 創(chuàng)建抽象類——關(guān)鍵字abstract
abstract所修飾的類為抽象類。
抽象類是只有定義而無(wú)法實(shí)現(xiàn)對(duì)象的類。
抽象類中只關(guān)心所應(yīng)實(shí)現(xiàn)的功能。
abstract class Dog {//抽象類類體 }抽象類無(wú)法產(chǎn)生對(duì)象,下面的語(yǔ)句是錯(cuò)誤的 Dog d = new Dog();11.4.2 抽象方法
abstract 修飾的方法為抽象方法。
抽象方法在形式上僅有方法的方法頭部分,沒(méi)有方法體。
abstract void out();抽象方法是只定義了功能而未能具體實(shí)現(xiàn)的方法,這決定了抽象方法只能在父類派生子類時(shí)才能通過(guò)覆蓋實(shí)現(xiàn)。
******
抽象類中可以沒(méi)有抽象方法,但抽象方法所在的類必須是抽象類。
******
如果由抽象類派生出一個(gè)非抽象的子類,因?yàn)榉浅橄笞宇惪梢詣?chuàng)建對(duì)象,所以在子類中必須覆蓋掉父類(抽象類)中所有的抽象方法,否則,只能將子類定義為抽象類。
******
public class Example1108 {public static void main(String[] args){SonClass sc = new SonClass();sc.out();} }abstract class SuperClass //抽象類 {abstract void out(); }class SonClass extends SuperClass //子類繼承抽象父類 {public void out() //子類實(shí)現(xiàn)父類的抽象方法 {System.out.println("SonClass");} }我們?cè)趯?xiě)大型程序時(shí),一般先設(shè)計(jì)最頂層、最抽象的類和方法,然后逐步實(shí)現(xiàn)細(xì)節(jié)化的類和方法。這種設(shè)計(jì)方法由粗到細(xì),容易分析和理解。
轉(zhuǎn)載于:https://www.cnblogs.com/jolene-wu/p/8288715.html
總結(jié)
以上是生活随笔為你收集整理的面向对象深入:继承03——抽象类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Linux下使用expect实现跳板机自
- 下一篇: java并发面试题