Java中抽象類和接口的區(qū)別_動力節(jié)點Java學(xué)院整理
接口
1 因為java不支持多重繼承,所以有了接口,一個類只能繼承一個父類,但可以實現(xiàn)多個接口,接口本身也可以繼承多個接口。
2 接口里面的成員變量默認(rèn)都是public static final類型的。必須被顯示的初始化。
3 接口里面的方法默認(rèn)都是public abstract類型的。隱式聲明。
4 接口沒有構(gòu)造方法,不能被實例化。
5 接口不能實現(xiàn)另一個接口,但可以繼承多個接口。
6 類如果實現(xiàn)了一個接口,那么必須實現(xiàn)接口里面的所有抽象方法,否則類要被定義為抽象類。
抽象類
1 如果將一個類聲明為abstract,此類不能生成對象,只能被繼承使用。
2 抽象方法必須存在于抽象類中。
3 抽象類中可以有一般的變量和一般的方法。
4 子類繼承抽象類必須實現(xiàn)其中抽象方法,除非子類為抽象類。
private void print(){};此語句表示方法的空實現(xiàn)。 abstract void print(); 此語句表示方法的抽象,無實現(xiàn)。
接口和抽象類的區(qū)別
1 接口只能包含抽象方法,抽象類可以包含普通方法。
2 接口只能定義靜態(tài)常量屬性,抽象類既可以定義普通屬性,也可以定義靜態(tài)常量屬性。
3 接口不包含構(gòu)造方法,抽象類里可以包含構(gòu)造方法。
抽象類不能被實例化,但不代表它不可以有構(gòu)造函數(shù),抽象類可以有構(gòu)造函數(shù),備繼承類擴(kuò)充.
以上所述是小編給大家介紹的Java中抽象類和接口的區(qū)別_動力節(jié)點Java學(xué)院整理,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
從最基本的Java工程搭建SpringMVC+SpringDataJPA+Hibernate
本文會介紹從一個最基本的java工程,到Web工程,到集成Spring、SpringMVC、SpringDataJPA+Hibernate,本文介紹的非常詳細(xì),具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧2016-05-05java使用wait()和notify()線程間通訊的實現(xiàn)
Java 線程通信是將多個獨立的線程個體進(jìn)行關(guān)聯(lián)處理,使得線程與線程之間能進(jìn)行相互通信,本文就介紹了java使用wait()和notify()線程間通訊的實現(xiàn),感興趣的可以了解一下2023-09-09深入探討Java?SPI機(jī)制及其應(yīng)用場景
本文深入介紹了Java?SPI機(jī)制的原理和實現(xiàn)方式,以及在Java中如何使用SPI實現(xiàn)可插拔的組件化架構(gòu),包括示例代碼和應(yīng)用場景分析,幫助讀者更好地理解和應(yīng)用該機(jī)制2023-04-04SpringBoot+?Sharding?Sphere?輕松實現(xiàn)數(shù)據(jù)庫字段加解密功能
在Spring?Boot生態(tài)中,有一個非常厲害的開源框架:Apache?ShardingSphere,它是一款分布式?SQL?事務(wù)和查詢引擎,可通過數(shù)據(jù)分片、彈性伸縮、加密等能力對任意數(shù)據(jù)庫進(jìn)行增強(qiáng),今天通過這篇文章,我們一起來了解一下如何在?Spring?Boot?中快速實現(xiàn)數(shù)據(jù)的加解密功能2024-07-07