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

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 編程基礎之Java的接口與內部類視頻

編程基礎之Java的接口與內部類視頻

更新時間:2020-06-30 14:36:30 來源:動力節點 瀏覽1905次

在學習Android事件機制之前,有必要把相關的Java知識先進行一下回顧。與Android事件相關的Java知識主要包括:接口、內部類,下面講解這些知識點。

編程基礎之Java的接口與內部類視頻

1、接口

Java下接口主要描述類應該具備什么功能。接口是一種契約機制,描述了相關的類應遵循一定的、統一的格式定義。在Java中,接口通過關鍵字Interface定義。例如下面的接口定義:

package?com.zhangw.crazyandroid;
public?interface?UserDao?{
????String?findUserName(String?id);
}

該接口描述了這樣一種契約,實現該接口的類必須提供findUserName方法,該方法必須要有一個String類型的參數。

為了讓類實現某個接口,只需要一下兩步:

通過Implements聲明某個類實現特定的接口;

對接口的中所有方法進行定義;

下面給出UserDao接口的實現,如下所示:

package?com.zhangw.crazyandroid;
public?class?UserTableDao?implements?UserDao?{
????public?String?findUserName(String?id)?{
????????return?"zhangw";
????}
}

這里需要注意的是,在接口中,不用把方法申明為public,因為接口中的方法都是public。但是在實現接口時,必須在實現類里面將對應的方法申明為public,否則方法默認為包可見。

關于接口還有幾點要說明:

接口不是類,不能用new實例化;

可以申明接口的變量,但是接口的變量必須復制具體實現類的對象;

可以使用instance檢查一個類是否實現了特定的接口,如下所示:

if(userDao?instanceof?UserDao){
???Log.d("接口測試",?"是UserDao接口");
}

類似于類的繼承關系,接口也可以進行繼承擴展;

一個類可以實現多個接口,實現的多個接口之間用,分割

接口中可以定義常量

在Java SE 8中,接口可以定義靜態方法,但這樣的設計有悖于接口抽象機制的初衷,不推薦。

接口可以通過關鍵字default聲明默認方法,提供默認實現,這樣實現接口的開發人員可以只覆蓋需要的方法,例如下面代碼所示:

package?com.salary.myjava;
public?interface?UserDao?{
????String?queryNameById(String?id);
????default?String?queryOrgById(String?id){return?id;};
}

2、內部類

內部類是定義在一個類里面的類,內部類有以下特點:

內部類方法可以訪問外部類的數據

內部類可以對同一個包中的其他類隱藏起來;

通常使用匿名內部類實現回調機制

下面給出一個內部類的樣例

package?com.salary.myjava;
public?class?MyWindow?{
????private?String?title?=?"111";
????private?String?name?=?"222";
????//?內部接口
????public?interface?StartListener{
????????String?getWindowTitle();
????}
????//?內部類
????public?class?UserDaoImp?implements?UserDao{
????????public?String?queryNameById(String?id){
????????????return?MyWindow.this.title;
????????}
????}
????public?void?load(){
????????UserDao?userDao?=?new?UserDaoImp();
????????System.out.println(userDao.queryNameById("111"));
????}
????public?void?load2(){
????????//??匿名類
????????StartListener?startListener?=?new?StartListener(){
????????????public?String?getWindowTitle(){
????????????????return?MyWindow.this.title;
????????????}
????????};
????????System.out.print(startListener.getWindowTitle());
????}
}

這里我們定義了UserDaoImp類,該類是MyWindow的內部類,此外我們還在MyWinow類的內部定了一個接口StartListener,并在load2方法中,通過一個匿名類實現了該接口。

這里需要說明的是:

內部類主要用于方法的回調處理;

在內部類可以通過<外部類的名稱.this>訪問外部類的this指針。

在類的內部也可以定義接口,如上所StartListener

編程基礎之Java的接口與內部類視頻

以上就是動力節點java培訓機構的小編針對“編程基礎之Java的接口與內部類視頻”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 四虎影业| 欧美视频在线一区二区三区 | 亚洲国产婷婷香蕉久久久久久 | 一级毛片视频 | 2021久久精品国产99国产 | 日韩精品一区二区三区国语自制 | 中文字幕亚洲日韩无线码 | 欧美激情伦妇在线观看 | 精品无码久久久久久国产 | 国产欧美视频综合二区 | 一级片在线免费看 | 国产大学生一级毛片绿象 | 日韩一级在线 | 真实国语对白视频播放 | 日本有色视频 | h在线免费视频 | 免费一级a毛片免费观看欧美大片 | 日韩51| 成人欧美一区二区三区在线 | 久久黄色免费 | 国产图片综合区 | 四虎影院www | 欧美性猛交ⅹxxx乱大交按摩 | 国产亚洲精品线观看77 | 麻豆国内精品久久久久久 | 一区二区三区国产 | 超清乱人伦中文视频在线 | 中文字幕一区二区在线观看 | 久久99热久久精品99 | 精品国产一区二区三区免费 | 91手机看片国产永久免费 | 青草社区在线 | 欧美日本一本 | 国产一区二区精品久久凹凸 | 老头老太做爰xxxx视频 | 久久久久国产精品四虎 | a级毛片毛片免费观看久潮 a级毛片免费 | 久久久亚洲欧洲日产国码二区 | 日韩中文字幕在线亚洲一区 | 日日夜夜精品免费视频 | 99视频精品国在线视频艾草 |