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

首頁 > 開發 > Java > 正文

淺談Java抽象類和接口的個人理解

2024-07-13 10:15:20
字體:
來源:轉載
供稿:網友

今天來說一波自己對Java中抽象類和接口的理解,含參考內容:

一、抽象類

1、定義:

public abstract class 類名{}

Java語言中所有的對象都是用類來進行描述,但是并不是所有的類都是用來描述對象的。我所理解的抽象類其實就是對同一類事物公共部分的高度提取,這個公共部分包括屬性和行為。比如牛、羊、豬它們的公共屬性是都有毛,公共行為是都哺乳,所以我們可以把公共部分抽象成一個哺乳類,含有屬性毛和行為哺乳,當牛、羊、豬繼承了哺乳類后也就有了哺乳的功能,至于怎么完成這個功能就需要自己去實現了。

2、特點

(1)被Abstract關鍵字修飾的類是抽象類;

(2)含有抽象方法的類一定是抽象類,但是抽象類不一定含有抽象方法;且抽象方法必須是public或protected,否則不能被子類繼承。默認為public。

(3)抽象方法中不能有實現,否則編譯報錯;

(4)抽象類中可以定義自己的成員變量和成員方法;

(5)子類繼承抽象類時,必須實現抽象類中的所有抽象方法,否則該子類也要被定義為抽象類;

(6)抽象類不能被實例化。

3、驗證以上規定是否確實如其所述

這是我在word中編輯的一張驗證表,把它截成圖片放在這里:

java抽象類和接口,java,抽象類,接口,java接口與抽象類,java中的抽象類和接口

從上圖的驗證結果來看,那些理論都是正確的

二、接口

1、定義:

public interface 接口名{}

接口是用來提供方法的。按我的理解,它是對多個類公共行為的高度提取,比如所有的動物它們的公共行為是吃和睡,那么我們就可以將這兩個行為提取出來封裝在一個接口中,當某個動物需要執行這個行為的時候只要調用該接口,然后在自己的類里面完成具體實現就行。這樣理解好像跟抽象類沒什么區別,那再看下面的這個例子。如果把這兩個行為放在抽象類中,但是該抽象類中還有一個爬的行為,此時當一種爬行動物,比如蛇,當它繼承這個類的時候,會實現吃、睡、爬行這三個方法,于是它便有了吃、睡、爬的功能;但是如果一個飛行類的動物如鳥,當它繼承了這個方法的時候,同樣的也有了吃、睡、爬的功能,很明顯,爬不是它需要的功能,這就有點詞不達意了,但是當他們繼承了只有吃、睡的接口,就有了吃、睡的基本功能,至于爬和飛,可以抽象出來放在抽象類中,按需繼承,按需實現自己需要的功能就OK了。

2、特點:

(1)接口中可以有自己的成員變量,但會被隱式地指定為public staic final,而且也只能是public staic final的,接口中所有的方法都是抽象方法,都會被隱式地指定為public abstract的。

(2)接口中只定義抽象方法,沒有具體的實現;

(3)實現接口的類必須實現接口中定義的所有方法;

3、驗證以上理論是否正確

java抽象類和接口,java,抽象類,接口,java接口與抽象類,java中的抽象類和接口

同樣,驗證出上面的理論都是對的!

三、抽象類和接口的區別:

1、抽象類中可以有自己的成員方法及它們的具體實現;接口中只能含有抽象方法;

2、抽象類中可以含有各種類型的成員變量;接口中的成員變量只能是public static final的;

3、一個類只能繼承一個抽象類,但可以實現多個接口;

4、抽象類中可以含有靜態代碼塊和靜態方法;接口中不能定義靜態代碼塊和靜態方法;

驗證一個類只能繼承一個抽象類,但能實現多個接口

首先,定義兩個抽象類:一個Mummals哺乳類,一個Crawler爬行類

/** * @createtime 2017年3月17日 上午10:33:27 * @description 哺乳類  */public abstract class Mammals {	public String foods;	public abstract void nurse();	public void eat(String food){		this.foods = food;		System.out.println("吃"+foods);	}}
/** *  * @createtime 2017年3月17日 上午11:23:09 * @description 定義一個抽象類--爬行類 */public abstract class Crawler {	public abstract void crawl();}

其次,定義兩個接口:一個是BaseAction基礎接口;一個是SpecialAction特殊接口

/** *  * @createtime 2017年3月17日 上午11:03:42 * @description 定義一個名為基本行為的接口 */public interface BaseAction {	public String name = "";	public void eat();	public void sleep();}
/** * @createtime 2017年3月17日 上午11:24:56 * @description 定義一個接口用來實現特殊行為 */public interface SpecialAction {    public void study();}

然后,定義一個基礎類People,繼承Mummals類,實現BaseAction接口和SpecialAction接口

/** * @createtime 2017年3月17日 上午11:25:48 * @description 定義一個普通的類--人類,繼承哺乳類,實現基礎接口和特殊接口 */public class People extends Mammals implements BaseAction,SpecialAction{	@Override	  public void study() {		// TODO Auto-generated method stub	}	@Override	  public void eat() {		// TODO Auto-generated method stub	}	@Override	  public void sleep() {		// TODO Auto-generated method stub	}	@Override	  public void nurse() {		// TODO Auto-generated method stub	}}

可以看出,一個子類是可以實現多個接口的

最后,讓基礎類People,同時繼承Mummals類和Crawler類

/** * @createtime 2017年3月17日 上午11:25:48 * @description 定義一個普通的類--人類,繼承哺乳類,實現基礎接口和特殊接口 */public class People extends Mammals,Crawler{	@Override	  public void nurse() {		// TODO Auto-generated method stub	}}

總結

以上就是本文關于淺談Java抽象類和接口的個人理解的全部內容,希望對大家有所幫助。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕一区二区精品| 日韩中文字幕网址| 亚洲欧美在线一区| 国产精品丝袜一区二区三区| 自拍偷拍亚洲区| 欧美亚洲国产成人精品| 性色av一区二区三区在线观看| 少妇高潮久久77777| 久久精品中文字幕免费mv| 国产一区二区三区在线免费观看| 亚洲欧美一区二区精品久久久| 成人综合国产精品| 国产日产亚洲精品| 成人午夜黄色影院| 亚洲国产精品小视频| 久久影视电视剧免费网站清宫辞电视| 国产精品h片在线播放| 成人精品aaaa网站| 精品福利免费观看| 福利视频第一区| 亚洲国产精品久久久| 久久亚洲精品中文字幕冲田杏梨| 亚洲精品电影在线观看| 久久在线免费观看视频| 亚洲男女自偷自拍图片另类| 成人在线中文字幕| 日本欧美在线视频| 亚洲免费视频在线观看| 久久99亚洲精品| 国产91精品网站| 成人有码视频在线播放| 亚洲xxxx18| 久久精品国产亚洲7777| 久久综合久中文字幕青草| 欧美在线一级视频| 国产精品久久久久久久久久久久久| 国产精品久久久久久亚洲影视| 韩国19禁主播vip福利视频| 欧洲永久精品大片ww免费漫画| 91成人在线观看国产| 国产专区欧美专区| 91精品久久久久久久| 欧美成aaa人片在线观看蜜臀| 中文字幕无线精品亚洲乱码一区| 亚洲第一综合天堂另类专| 国产精品xxxxx| 亚洲成人激情在线| 4p变态网欧美系列| 国产色婷婷国产综合在线理论片a| 亚洲影影院av| 91国产一区在线| 欧美一级淫片videoshd| 日韩免费观看在线观看| 成人午夜在线影院| 国产精品扒开腿做爽爽爽的视频| 中文字幕在线观看日韩| 日韩亚洲精品视频| 日韩网站免费观看高清| 高清欧美性猛交xxxx| 久久久亚洲欧洲日产国码aⅴ| 日韩高清电影免费观看完整版| 精品女厕一区二区三区| 欧美最猛性xxxxx亚洲精品| 欧美性色xo影院| 中文字幕在线亚洲| 成人97在线观看视频| 国产精品com| 亚洲一区二区久久久久久| 欧美精品午夜视频| 国产亚洲人成网站在线观看| 国产91精品最新在线播放| 日韩日本欧美亚洲| 成人女保姆的销魂服务| 5252色成人免费视频| 色婷婷亚洲mv天堂mv在影片| 日日摸夜夜添一区| 国产精品电影网站| 国产91精品青草社区| 精品动漫一区二区三区| 精品国产一区二区三区久久狼5月| 欧美激情一区二区三级高清视频| 97超级碰在线看视频免费在线看| 91国自产精品中文字幕亚洲| 欧美剧在线观看| 国产欧美精品一区二区| 美女国内精品自产拍在线播放| 国产亚洲精品久久| 日日摸夜夜添一区| 久久综合伊人77777蜜臀| 激情成人中文字幕| 色狠狠av一区二区三区香蕉蜜桃| 亚洲人成伊人成综合网久久久| 欧美亚洲国产日韩2020| 亚洲肉体裸体xxxx137| 国产日韩欧美在线视频观看| 国产欧美精品一区二区三区-老狼| 亚洲人成伊人成综合网久久久| 欧美在线观看视频| 欧美午夜片欧美片在线观看| 欧美成人中文字幕在线| 欧美午夜久久久| 欧美日韩成人免费| 欧美精品激情在线| 亚洲视频在线观看网站| 久久久亚洲影院| 国产精品久久久久久久久男| 亚洲欧美日韩在线一区| 国产色综合天天综合网| 久久精品男人天堂| 丝袜美腿亚洲一区二区| 91香蕉国产在线观看| 中文字幕免费精品一区| 日韩视频免费看| 亚洲精品mp4| 亚洲国产日韩欧美在线动漫| 欧美有码在线观看视频| 亚洲丁香久久久| 91亚洲精品久久久久久久久久久久| 欧美人与性动交| 中文字幕日韩欧美| 国外成人在线播放| 日韩中文字幕国产| 亚洲午夜久久久久久久| 亚洲最新av在线网站| 久久综合久久八八| 日韩电影在线观看永久视频免费网站| 精品国产乱码久久久久久天美| 亚洲国产精品99久久| 亚洲美女免费精品视频在线观看| 欧美国产在线视频| 国产精品久久久久久av下载红粉| 最新国产精品亚洲| 亚洲欧美日韩图片| 亚洲国模精品私拍| 日韩在线播放视频| 国产精品第100页| xvideos亚洲人网站| 欧美日韩国产999| 国产精品夜间视频香蕉| 亚洲精品720p| 国产这里只有精品| 欧美主播福利视频| 高清欧美一区二区三区| 成人在线一区二区| 欧美日韩裸体免费视频| 欧美日韩一区二区免费在线观看| 91热福利电影| 欧日韩在线观看| 美日韩精品免费视频| 欧美精品18videos性欧美| 国产精品美女主播在线观看纯欲| 91精品国产乱码久久久久久蜜臀| 97婷婷涩涩精品一区| 中文字幕日韩综合av| 91社影院在线观看| 亚洲欧美国产高清va在线播| 亚洲国产天堂久久国产91| 亚洲精品suv精品一区二区| 午夜精品蜜臀一区二区三区免费| 亚洲一区二区久久久| 欧美精品生活片| 欧美国产日韩一区二区三区| 欧美午夜精品久久久久久久| 国产一区二区欧美日韩|