含有抽象方法的類一定是抽象類,但是抽象類不一定含有抽象方法。
總結:
沒有抽象方法的抽象類的作用:
1.抽象類不能new實例化
2.抽象類可以有構造方法,但是構造方法不能是抽象方法
3.通過子類繼承,可以調用抽象類的構造方法
無抽象方法的抽象類 案例:
1. 裝飾器模式(the decorator pattern)
2. HttpServlet
它的所有方法, 作為默認實現的方法,都是非抽象的, 但它本身卻帶上abstract 的標志。這么作,就可以讓它的子類,各取所需,僅覆蓋它們需要用到的方法就可以了。
3. Java api 中的 適配類 如,抽象類 MouseAdapter,MouseMotionAdapter, 它們以空代碼塊{ } 實現了相關接口的所有抽象方法。但刻意冠以 抽象 abstract “頭銜”。因此, 它必須有子類,才能運作,但子類可以自取所需,僅覆蓋它們要用到的方法就可以了, 起到便捷的作用。