黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

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

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

更新時間:2019-09-12 10:46:01 來源:動力節點 瀏覽5352次

  

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


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


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


java抽象類定義


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


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


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


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


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



  為什么會出現抽象類?


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


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



  抽象類的特點:


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


  2:抽象方法只定義方法聲明,并不定義方法實現。


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


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



  抽象類的細節:


  1、抽象類中是否有構造函數?


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


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


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


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


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


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


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


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


  ??可以。不定義抽象方法目的是不讓抽象類創建對象。


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


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



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


  為什么會出現接口?


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


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


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


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


  成員變量: public static final 。


  成員方法: public abstract 。


  接口的表現形式:


  interface Inter


  {


  public static final int x = 3;


  public abstract void show();


  }


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


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


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


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


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



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


  1、接口是對外提供暴露的規則。


  2、接口是功能的擴展。


  3、接口的出現降低了耦合性。



  抽象類與接口異同點:


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


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



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


  抽象類和接口的區別:


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


  接口需要被實現,而且可以多實現。


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


  接口中都有抽象方法,需要子類去實現。


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


  接口使用的 like a 關系。


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


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


timg (3).jpg


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


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


java接口使項目分層代碼實現:http://m.ilovecolors.com.cn/xiazai/2567.html


java接口使項目分層描述:http://m.ilovecolors.com.cn/xiazai/2568.html


java面向接口編程:http://m.ilovecolors.com.cn/xiazai/2569.html


java接口的應用:http://m.ilovecolors.com.cn/xiazai/2570.html


java接口與抽象類的異同點:http://m.ilovecolors.com.cn/xiazai/2571.html


java接口說明:http://m.ilovecolors.com.cn/xiazai/2572.html


java接口的定義與實現:http://m.ilovecolors.com.cn/xiazai/2575.html


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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日本成人中文字幕 | 一个人看的视频免费www | 色多网站免费视频 | 国产成人综合高清在线观看 | 国产精品自在线拍 | 日韩在线视频精品 | 香蕉521av成人网 | 在线天堂资源www中文在线 | 久久窝窝国产精品午夜看15 | 色偷偷久久 | 色迷迷网免费站视频在线观看 | 全免费观看a级毛片 | 亚洲成人在线网 | 欧美日本一区二区三区道 | 91精品一区二区三区久久久久 | 久久久青青草 | 中国特黄毛片 | 成人在线免费观看 | 日韩欧美一区二区三区不卡在线 | 性欧美videos另类视频 | 欧美日韩在线观看免费 | 久操视频在线播放 | 亚洲国产欧美日韩第一香蕉 | xxxx亚洲| 欧美成人怡春院在线激情 | 亚洲夜| 国产福利午夜波多野结衣 | 欧美激情在线精品三区 | 久久不卡免费视频 | 九九热视频在线观看 | 妞干网中文字幕 | 欧美黑人三级 | 波多野结衣在线观看一区 | 国产视频二区在线观看 | 成人一级黄色大片 | 国产中文字幕久久 | 婷婷国产天堂久久综合五月 | 日日爱网站 | 亚洲欧美日韩视频一区 | 女人牲交视频一级毛片 | 亚洲欧美四级在线播放 |