學(xué)習(xí)內(nèi)容
- 接口
- 接口回調(diào)數(shù)據(jù)實(shí)例
1牡整、接口
(1)短条、使用interface表示定義一個(gè)接口
(2)、接口可以繼承多個(gè)接口
(3)流礁、接口內(nèi)部元素:
a渠欺、接口不能被實(shí)例化(即無(wú)構(gòu)造方法)
b妹蔽、定義變量(只能是靜態(tài)成員變量)(默認(rèn)修飾符是public static final)
c、定義方法
- 抽象方法:不需要自己實(shí)現(xiàn) 誰(shuí)用誰(shuí)就實(shí)現(xiàn)(默認(rèn)修飾符 public abstract)
- 使用implements實(shí)現(xiàn)接口 然后必須實(shí)現(xiàn)接口里面的方法
- 類方法 默認(rèn)方法 私有方法(這些方法是可以實(shí)現(xiàn)的)
4、內(nèi)部類
定義接口:
interface Season{
int Spring = 1;
int Summer = 2;
int Autum = 3;
int Winter = 4;
}
interface t2{
}
public interface Datainteraction {
interface Input{
void inPut();
}
interface Output{
void outPut();
}
}
使用接口:
public class printer implements Datainteraction.Input {
@Override
public void inPut() {
System.out.println("打印機(jī)從電腦接收到數(shù)據(jù)");
}
public void printf(){
System.out.println("打印機(jī)開(kāi)始打印數(shù)據(jù)");
}
}
public class Mause implements Datainteraction.Output {
@Override
public void outPut() {
System.out.println("鼠標(biāo)輸入坐標(biāo)位置:東經(jīng)30度 北緯26度");
}
}
public class Macbook implements Datainteraction.Input,Datainteraction.Output{
@Override
public void inPut() {
System.out.println("蘋果電腦安全輸出");
}
@Override
public void outPut() {
System.out.println("蘋果電腦流暢的輸出");
}
}
2. 接口回調(diào)數(shù)據(jù)實(shí)例
public class Http {
//1.定義一個(gè)接口 統(tǒng)一返回?cái)?shù)據(jù)的方式
public interface OnHttpFinishListence{
void onSuccess(String img);
void onFailure(String err);
}
//2.定義一個(gè)變量接收誰(shuí)來(lái)監(jiān)聽(tīng)網(wǎng)絡(luò)下在完畢的事件
private OnHttpFinishListence listener;
public void getData(String url){
System.out.println("開(kāi)始下載");
System.out.println("圖片下載完畢");
//3.任務(wù)結(jié)束 回調(diào)數(shù)據(jù)
listener.onSuccess("張柏芝與冠希哥的照片下載成功");
}
//4.提供set方法保存當(dāng)前的監(jiān)聽(tīng)者
public void setListener(OnHttpFinishListence listener) {
this.listener = listener;
}
}
//4.使用者必須實(shí)現(xiàn)這個(gè)接口
public class SplashView implements Http.OnHttpFinishListence {
public SplashView() {
//開(kāi)始下載數(shù)據(jù)
Http http = new Http();
//6.必須傳遞當(dāng)前對(duì)象給功能類
http.setListener(this);
////7.調(diào)用功能類 完成功能
http.getData("wwww.baidu.com");
}
//5.必須實(shí)現(xiàn)接口內(nèi)部的所有抽象方法
@Override
public void onSuccess(String img) {
System.out.println("展示圖片"+img);
}
@Override
public void onFailure(String err) {
System.out.println("下載失敗"+err);
}
}
public class Myclass {
public static void main(String[] args) {
SplashView sv = new SplashView();
}
}