使用抽象类还是接口(Java)
生活随笔
收集整理的這篇文章主要介紹了
使用抽象类还是接口(Java)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
“要針對接口編程,不要針對實現編程。”那么,在java的世界里,這里的接口指的是什么呢?無非是以下兩種實現方式:
方式1)抽象類(只能有一個超類)
方式2)接口Interface(可以繼承多個Interface)
?
那么何時使用抽象類,何時使用接口呢?回答這個問題,得搞清楚二者各自的優勢。說白了是為了更好的應對變化。
一個是接口本身的變化,一個是接口實現的變化。
對于Interface而言,能夠很好的應對接口實現的變化,但是很難應對接口本身的變化。一旦Interface發生變化,所有的實現都需要同時變化。如果實現類很多,那將是噩夢,甚至是不可行。
對于抽象類而言,接口本身的變化可以輕松應對。只要在抽象類中提供默認實現就可以輕松增加行為。
但是,我們也要看到,抽象類的實現存在短處。就是實現類必須對抽象類忠心不二。如果需要以另一種視角來看待同一個實現類,就只能使用Interface了。換句話說,Interface帶來了多角度的好處。
?
Interface和抽象類并不是互斥的。你可以提供一個接口說“你可以使用這些功能”,在提供一個超類說“這是一種實現方式”。此時使用者應該應用接口類型,這樣未來的維護者就可以根據需要隨時替換新的實現。
轉載于:https://www.cnblogs.com/howdoyoudo/p/3326184.html
總結
以上是生活随笔為你收集整理的使用抽象类还是接口(Java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java知识系统回顾整理01基础04操作
- 下一篇: Java中的注解--annotation