亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

Java小專題之抽象類和接口

2019-11-06 06:32:58
字體:
來源:轉載
供稿:網友

一.抽象類


1. 抽象類的來源

java是面向對象的語言。在面向對象的概念中,一切事物都是對象,所有的對象都是用類來描述的。事物有個性和共性。描述事物抽取出來的共性的類就是抽象類

事物(對象) 事物的個性 事物的共性
類(屬性+方法) 一般類 抽象類
舉例 蘋果 水果

2.抽象類的特征

抽象類不能實例化。也就是不能創建對象,應該由繼承抽象類的子類來進行實例化。抽象類就是為了繼承而存在的,天生就是為了當爹。基于這個原因,abstract不能和final并列修飾一個類。 final修飾的類不能被繼承。子類無法繼承抽象類進行實例化。抽象類的抽象方法必須由繼承它的子類重寫。如果繼承它的子類沒有重寫抽象類的抽象方法,那么這個子類也一定是抽象類,因為它含有抽象方法?;谶@個原因,抽象方法必須是public和PRotected修飾的,缺省訪問權限修飾符情況下, 默認為public。因為abstract不能和private,static,final或native并列修飾抽象方法。原因是 private修飾的方法不能被子類繼承。子類不能重寫這個方法。static修飾的方法叫類方法(靜態方法)。子類不必重寫這個方法。final修飾的方法可以被繼承不能被重寫。子類不能重寫這個方法。含有抽象方法的類必然是抽象類。抽象類可以沒有抽象方法。子類的抽象方法不能和父類的抽象方法同名。抽象類可以有成員變量, 一般方法, 構造方法,與普通類一樣。

3.抽象類的示例代碼

public abstract Person{ //屬性 String name; //構造方法 public Person(){ this.name=name; } //一般方法 public void displayName(){ System.out.println("名字是:"+name); } //抽象方法 public abstract void eat(); }

二.接口

1.接口的來源

接口是比抽象類還要抽象。接口是抽象類的延伸。Java為了保證數據安全,一個類不能繼承多個類。但是Java使用接口彌補了不能多繼承的缺陷。一個類可以實現多個接口,這叫“多實現”。接口和繼承共同使用,既能保證數據安全,又可以實現多繼承。接口與接口之間是可以多繼承的。//接口繼承(inheritance)interface A{ void method1(); void method2();}interface B{ void method3;}interface C extends A,B{ void method4();}

2.接口的特征

接口不能實例化。不能使用new操作符實例化一個接口,但是可以聲明一個接口變量,該變量必須引用(refer to)一個實現該接口的類的對象。可以使用 instanceof 檢查一個對象是否實現了某個特定的接口。例如:if(Object instanceof Interface){}。 實現接口的非抽象類必須要實現接口中的所有方法。實現接口的抽象類不必實現接口中的所有方法。接口中的變量。接口中的變量會被隱式地指定為public static final修飾,使用其他修飾符修飾編譯會報錯。一般情況下不在接口中定義變量,而是不可變的常量。接口中的方法。接口中的方法會被隱式地指定為public abstract修飾,使用其他修飾符修飾編譯會報錯。接口中不存在具體實現的方法,接口中的方法都是抽象方法。

3.接口的示例代碼

public interface Demo{ public static final A; public abstract void method1(); public abstract void method2();}

三.抽象類和接口的深度剖析

在Java語言中, 抽象類和接口是支持抽象定義的兩種機制。正是由于這兩種機制的存在,才賦予了Java強大的 面向對象能力。抽象類和接口之間在對于抽象定義的支持方面具有很大的相似性,甚至可以相互替換。

1.語法層次的不同 參考一,二部分。


2.抽象層次的區別 抽象類是對一類事物的抽象。接口是對行為的抽象。 抽象類是對整個類整體的屬性,行為進行抽象。 接口是對類局部行為進行抽象。 舉例說明: 飛機和鳥是不同的事物,它們擁有共同的行為,會飛。 可以將飛機設計一個類,鳥設計一個類,因為兩者都是事物。 但是飛行是個行為特性,不能設計一個類,應該設計成一個接口。


3.描述層次的區別 我們日常生活中可以看到各種”接口”,例如電源插座。制造電源插座的廠商和制造電器的廠兩者之間約定了一個生產規則,約定了一個”接口”之后,不同的電器就都能使用電源插座。 由此可知,接口的本質是協議,是對事物之間規則的描述,不是對事物的描述。 在Java中: 1.抽象類也是類,類是對現實事物的描述。 2.接口不是類,接口是用來建立類與類之間的協議。接口是對事物之間規則,行為的描述。


4.設計層次的不同 1.抽象類的設計理念是“is-a”,接口的設計理念是“like-a”,是問題領域不同。 2.抽象類的設計目的是為了提高代碼的復用性。是模板式設計。接口的設計目的是為了實現”設計與實現的分離”,降低程序中的耦合性。是輻射式設計。 3.在“缺省適配模式”中,聲明類型的工作由Java接口承擔。但是同時給出一個Java抽象類,且實現了這個接口。而其他同屬于這個抽象類型的具體類可以選擇實現這個Java接口,也可以選擇繼承這個抽象類。也就是說,在層次結構中,Java接口在最上面,然后緊跟著抽象類,然后是普通類。 4.在面向對象程序設計中,對于接口,有一個核心原則就是Interface Segregation Principle(接口隔離原則): 1)使用多個專門的接口比使用單一的總接口要好。2) 一個類對另外一個類的依賴性應當是建立在最小的接口上的。3)一個接口代表一個角色,不應當將不同的角色都交給一個接口。沒有關系的接口合并在一起,形成一個臃腫的大接口,這是對角色和接口的污染。


簡化總結

抽象類 接口
不是類
對事物描述 對事物之間規則描述
對類整體抽象 對類局部行為抽象
模板式設計 輻射式設計
is-a理念 like-a理念
目的是提高復用性 目的是降低耦合性
為繼承而生 為多態而生

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
午夜精品久久久久久久久久久久久| 高清欧美性猛交xxxx| 日韩欧美中文字幕在线观看| 亚洲欧洲免费视频| 国产亚洲美女久久| 精品久久久国产| 亚洲精品动漫100p| 亚洲综合色激情五月| 午夜剧场成人观在线视频免费观看| 精品国内产的精品视频在线观看| 欧美亚洲第一区| 国产精品va在线播放| 97在线视频免费看| 国产一区二区三区日韩欧美| 亚洲国产精品视频在线观看| 一区二区日韩精品| 国产亚洲精品一区二区| 日韩视频免费观看| 亚洲аv电影天堂网| 激情久久av一区av二区av三区| 91欧美精品成人综合在线观看| 欧美久久精品一级黑人c片| 国产成人欧美在线观看| 成人在线一区二区| 国产精品成人久久久久| 精品久久久在线观看| 懂色av一区二区三区| 中文字幕日韩av电影| 欧美乱大交做爰xxxⅹ性3| 亚洲精品二三区| 欧美国产日韩中文字幕在线| 国产精品一区二区三区久久| 成人观看高清在线观看免费| 国内精品久久久久影院 日本资源| 国产精品爽黄69| 久久久免费观看| 亚洲a∨日韩av高清在线观看| 国产日韩欧美日韩大片| 亚洲伊人一本大道中文字幕| 精品国产自在精品国产浪潮| 亚洲电影中文字幕| 亚洲国产女人aaa毛片在线| 久久久国产视频| 国产精品黄视频| 色综合五月天导航| 日本精品久久电影| 亚洲黄页网在线观看| 久久久久久久色| 亚洲xxxx视频| 555www成人网| 亚洲国内精品在线| 亚洲色图狂野欧美| 亚洲国产91色在线| 国产免费一区二区三区香蕉精| 亚洲护士老师的毛茸茸最新章节| 国产999精品久久久| 97成人精品区在线播放| 国产亚洲美女精品久久久| 亚洲黄色www| 中文字幕亚洲综合久久筱田步美| 4k岛国日韩精品**专区| 国产日韩欧美影视| 欧美日韩在线观看视频小说| 国产精品99久久久久久久久| 91精品啪在线观看麻豆免费| 国产精品白嫩初高中害羞小美女| 日韩大胆人体377p| 夜夜嗨av一区二区三区免费区| 91精品啪aⅴ在线观看国产| 亚洲欧洲一区二区三区在线观看| 美女精品久久久| 亚洲伊人一本大道中文字幕| 欧美激情亚洲激情| 精品视频偷偷看在线观看| 亚洲午夜av久久乱码| 久久亚洲一区二区三区四区五区高| 91精品国产777在线观看| 精品国内亚洲在观看18黄| 亚洲少妇激情视频| 91天堂在线观看| 欧美激情视频在线观看| 亚洲男人的天堂在线播放| 亚洲经典中文字幕| 国产成人精品在线视频| 欧美日韩xxx| 不卡av电影在线观看| 视频在线一区二区| 国产91ⅴ在线精品免费观看| 欧美国产亚洲精品久久久8v| 亚洲资源在线看| 久久久女女女女999久久| 亚洲成人网久久久| 中文字幕亚洲天堂| 日韩国产激情在线| 日韩欧美视频一区二区三区| 国产精品一区二区av影院萌芽| 不卡毛片在线看| 国产91热爆ts人妖在线| 91在线免费视频| 亚洲欧美国产一区二区三区| 国产精品青青在线观看爽香蕉| 久久久999精品免费| 日本成人在线视频网址| 国产精品久久久久久久久久久久久久| 午夜精品一区二区三区在线播放| 九九热精品视频国产| 成人免费黄色网| 亚洲欧洲国产精品| 久久国产精品久久国产精品| 国产mv免费观看入口亚洲| 国产视频精品va久久久久久| 91香蕉嫩草神马影院在线观看| 97香蕉久久夜色精品国产| 91亚洲精品久久久| 欧美俄罗斯乱妇| 亚洲精品电影网| 性色av一区二区三区| 亚洲国产高潮在线观看| 色系列之999| 欧美麻豆久久久久久中文| 欧美激情a在线| 91免费视频网站| 亚洲国产毛片完整版| 色悠久久久久综合先锋影音下载| 1769国内精品视频在线播放| 91久久国产综合久久91精品网站| 欧美裸体xxxx极品少妇软件| 久久大大胆人体| 欧美精品免费在线| 狠狠躁夜夜躁人人躁婷婷91| 中文字幕亚洲情99在线| 热门国产精品亚洲第一区在线| 9.1国产丝袜在线观看| 亚洲国产日韩一区| 亚洲欧美日韩久久久久久| 国模视频一区二区三区| 国产精品久久久久久久久久久久| 国产日韩欧美在线视频观看| 热99精品只有里视频精品| 欧美日本亚洲视频| 这里只有精品在线观看| 久久久免费精品| 久久精品一偷一偷国产| 成人女保姆的销魂服务| 亚洲国产福利在线| 国产一区二区丝袜| 在线成人免费网站| 国产一区二区三区三区在线观看| 日韩av在线免费观看| 久久久久久久久国产精品| 国产一区二区三区毛片| 日韩美女av在线免费观看| 狠狠久久五月精品中文字幕| 日韩av在线不卡| 国产精品午夜视频| 亚洲精品网址在线观看| 久久精品国产96久久久香蕉| 亚洲精品在线不卡| 日韩高清不卡av| 国产精品极品美女粉嫩高清在线| 美女精品久久久| 欧美另类在线播放| 亚洲影院色无极综合| 91久热免费在线视频|