大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 簡述java抽象類與接口的異同點

簡述java抽象類與接口的異同點

更新時間:2019-09-12 10:46:01 來源:動力節(jié)點 瀏覽5317次

  

今天動力節(jié)點java培訓機構小編介紹“java抽象類與接口的異同點”,希望通過此文能夠幫助到正在學習java的零基礎學員,下面就隨小編一起看看java抽象類與接口的異同點是什么?


u=4195299513,2392537383&fm=11&gp=0.jpg


一、抽象類: (關鍵字abstract)


java抽象類定義


  在面向對象的概念中,所有的對象都是通過類來描繪的,但是反過來,并不是所有的類都是用來描繪對象的,如果一個類中沒有包含足夠的信息來描繪一個具體的對象,這樣的類就是抽象類。


  抽象類除了不能實例化對象之外,類的其它功能依然存在,成員變量、成員方法和構造方法的訪問方式和普通類一樣。


  由于抽象類不能實例化對象,所以抽象類必須被繼承,才能被使用。也是因為這個原因,通常在設計階段決定要不要設計抽象類。


  父類包含了子類集合的常見的方法,但是由于父類本身是抽象的,所以不能使用這些方法。


  在Java中抽象類表示的是一種繼承關系,一個類只能繼承一個抽象類,而一個類卻可以實現(xiàn)多個接口。



  為什么會出現(xiàn)抽象類?


  ??在不斷抽取過程中,將共性內容中的方法聲明抽取,但是方法內容不一樣,沒有抽取,這時抽取到的方法,并不具體,需要被指定關鍵字abstract所標示,聲明為抽象方法。


  ??抽象方法所在類一定要標示為抽象類,也就是說該類需要被abstract關鍵字所修飾。



  抽象類的特點:


  1:抽象方法只能定義在抽象類中,抽象類和抽象方法必須由abstract關鍵字修飾(可以描述類和方法,不可以描述變量) 。


  2:抽象方法只定義方法聲明,并不定義方法實現(xiàn)。


  3:抽象類不可以被創(chuàng)建對象 ( 實例化 ) 。


  4:抽象類必須由其子類覆蓋了所有的抽象方法后,該子類才可以實例化。否則,該子類還是抽象類。



  抽象類的細節(jié):


  1、抽象類中是否有構造函數(shù)?


  ??有,用于給子類對象進行初始化。


  2、抽象類中是否可以定義非抽象方法?


  可以。其實,抽象類和一般類沒有太大的區(qū)別,都是在描述事物,只不過抽象類在描述事物時,有些功能不具體。所以抽象類和一般類在定義上,都是需要定義屬性和行為的。只不過,比一般類多了一個抽象函數(shù)。而且比一般類少了一個創(chuàng)建對象的部分。


  3、抽象關鍵字 abstract 和哪些關鍵字不可以共存?


  ??private 。抽象方法需要被子類方法覆蓋才可以使用,private修飾的方法不可以被子類繼承。


  ??static 。static和abstract同時修飾一個方法時,被static修飾的方法,可以直接被類名調用,此方法沒有內容,調用此方法沒有意義。


  ??final 。當final和abstract同時修飾一個方法時,abstract修飾的方法必須被子類覆蓋才能使用,而被final修飾的方法不能被覆蓋。


  4、抽象類中可不可以不定義抽象方法?


  ??可以。不定義抽象方法目的是不讓抽象類創(chuàng)建對象。


  5、抽象類一定是父類嗎?


  ??是的,因為需要被其子類覆蓋其所有的抽象方法才能使用。



  二、接口:(關鍵字interface).


  為什么會出現(xiàn)接口?


  ??當一個抽象類中,所有的方法都是抽象方法時,這時可以將該抽象類用另一種形式定義和表示,就引入了接口的概念。


  1、是用關鍵字 interface 定義的。


  2、接口中包含的成員,最常見的有全局常量、抽象方法。


  注意:接口中的成員都有固定的修飾符。


  成員變量: public static final 。


  成員方法: public abstract 。


  接口的表現(xiàn)形式:


  interface Inter


  {


  public static final int x = 3;


  public abstract void show();


  }


  3、接口中有抽象方法,說明接口不可以實例化 。接口的子類必須實現(xiàn)了接口中所有的抽象方法后,該子類才可以實例化。否則,該子類還是一個抽象類。


  4、類與類之間存在著繼承關系,類與接口之間存在的是實現(xiàn)關系。繼承用 extends ;實現(xiàn)用 implements ;


  5、接口和類不一樣的地方,就是,接口可以被多實現(xiàn) ,這就是多繼承改良后的結果。java 將多繼承機制通過多實現(xiàn)來體現(xiàn)。


  6、一個類在繼承另一個類的同時,還可以實現(xiàn)多個接口。所以接口的出現(xiàn)避免了單繼承的局限性。還可以將類進行功能的擴展。


  7、其實 java 中是有多繼承的。接口與接口之間存在著繼承關系,接口可以多繼承接口。



  接口都用于設計上,設計上的特點:


  1、接口是對外提供暴露的規(guī)則。


  2、接口是功能的擴展。


  3、接口的出現(xiàn)降低了耦合性。



  抽象類與接口異同點:


  抽象類:一般用于描述一個體系單元,將一組共性內容進行抽取。特點:可以在類中定義抽象內容讓子類實現(xiàn),可以定義非抽象內容讓子類直接使用。它里面定義的都是一些體系中的基本內容。


 接口: 一般用于定義對象的擴展功能,是在繼承之外還需這個對象具備的一些功能。



  抽象類和接口的共性:都是不斷向上抽取的結果。


  抽象類和接口的區(qū)別:


  1、抽象類只能被繼承,而且只能單繼承。


  接口需要被實現(xiàn),而且可以多實現(xiàn)。


  2、抽象類中可以定義非抽象方法,子類可以直接繼承使用。


  接口中都有抽象方法,需要子類去實現(xiàn)。


  3、抽象類使用的是 is a 關系。


  接口使用的 like a 關系。


  4、抽象類的成員修飾符可以自定義。


  接口中的成員修飾符是固定的。全都是public的。


timg (3).jpg


以上就是動力節(jié)點java培訓機構小編介紹的“java抽象類與接口的異同點”的內容,希望對大家有幫助,更多java最新資訊請繼續(xù)關注動力節(jié)點java培訓機構官網(wǎng),每天會有精彩內容分享與你。


相關免費視頻教程推薦——java菜鳥教程下載:


java接口使項目分層代碼實現(xiàn):http://www.dabaquan.cn/xiazai/2567.html


java接口使項目分層描述:http://www.dabaquan.cn/xiazai/2568.html


java面向接口編程:http://www.dabaquan.cn/xiazai/2569.html


java接口的應用:http://www.dabaquan.cn/xiazai/2570.html


java接口與抽象類的異同點:http://www.dabaquan.cn/xiazai/2571.html


java接口說明:http://www.dabaquan.cn/xiazai/2572.html


java接口的定義與實現(xiàn):http://www.dabaquan.cn/xiazai/2575.html


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久久综合狠狠综合久久97色 | 88国产经典欧美一区二区三区 | 四虎影视国产884a精品亚洲 | 国产高清视频在线播放 | 欧美黑人巨大3dvideo | 欧美一级特黄真人毛片 | 中文精品久久久久国产不卡 | 一级二级三级毛片 | 天天艹| 国产精品久久久久久吹潮 | 日本欧美一区二区三区在线观看 | 久草国产在线播放 | 狠狠色丁香婷婷综合最新地址 | 99久热成人精品视频 | 四虎精品福利视频精品 | 亚洲香蕉国产高清在线播放 | 久色免费视频 | 天天射天天干天天舔 | 一级毛片免费高清视频 | 亚色在线播放 | 亚洲一区二区三区麻豆 | 一级二级三级毛片 | 四虎永久在线视频 | 牛牛影视在线观看片免费 | 国产素人在线 | 四虎www成人影院免费观看 | 成人午夜毛片在线看 | 欧美一区永久视频免费观看 | 久久99综合国产精品亚洲首页 | 亚洲伊人久久大香线蕉啊 | 欧美午夜精品久久久久免费视 | 亚洲一级片免费 | 久久精品99毛片免费 | 国产特级毛片 | 亚洲国产激情 | 欧美jizzhd精品欧美4k | 99精品国产高清一区二区麻豆 | 国产精品成人69xxx免费视频 | 亚洲精品美女在线观看 | 亚洲在线视频免费 | 欧美日韩高清在线观看一区二区 |