学习内容
- 接口
- 接口回调数据实例
1、接口
(1)、使用interface表示定义一个接口
(2)、接口可以继承多个接口
(3)、接口内部元素:
a、接口不能被实例化(即无构造方法)
b、定义变量(只能是静态成员变量)(默认修饰符是public static final)
c、定义方法
- 抽象方法:不需要自己实现 谁用谁就实现(默认修饰符 public abstract)
- 使用implements实现接口 然后必须实现接口里面的方法
- 类方法 默认方法 私有方法(这些方法是可以实现的)
4、内部类
定义接口:
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("打印机从电脑接收到数据");
}
public void printf(){
System.out.println("打印机开始打印数据");
}
}
public class Mause implements Datainteraction.Output {
@Override
public void outPut() {
System.out.println("鼠标输入坐标位置:东经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. 接口回调数据实例
public class Http {
//1.定义一个接口 统一返回数据的方式
public interface OnHttpFinishListence{
void onSuccess(String img);
void onFailure(String err);
}
//2.定义一个变量接收谁来监听网络下在完毕的事件
private OnHttpFinishListence listener;
public void getData(String url){
System.out.println("开始下载");
System.out.println("图片下载完毕");
//3.任务结束 回调数据
listener.onSuccess("张柏芝与冠希哥的照片下载成功");
}
//4.提供set方法保存当前的监听者
public void setListener(OnHttpFinishListence listener) {
this.listener = listener;
}
}
//4.使用者必须实现这个接口
public class SplashView implements Http.OnHttpFinishListence {
public SplashView() {
//开始下载数据
Http http = new Http();
//6.必须传递当前对象给功能类
http.setListener(this);
////7.调用功能类 完成功能
http.getData("wwww.baidu.com");
}
//5.必须实现接口内部的所有抽象方法
@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();
}
}