当前位置: 首页 > news >正文

安卓基础(接口interface)

​1. 接口的定义与实现​

​(1) 定义接口​
// 定义一个 "动物行为" 的接口
public interface Animal {void eat();      // 抽象方法(无实现)void sleep();    // 抽象方法(无实现)// Java 8+ 默认方法(有实现)default void breathe() {System.out.println("呼吸空气");}// Java 8+ 静态方法static boolean isAnimal(Object obj) {return obj instanceof Animal;}
}
​(2) 实现接口​
// Dog 类实现 Animal 接口
public class Dog implements Animal {@Overridepublic void eat() {System.out.println("狗吃狗粮");}@Overridepublic void sleep() {System.out.println("狗在窝里睡觉");}
}
​(3) 使用接口​
Animal myDog = new Dog();
myDog.eat();    // 输出: 狗吃狗粮
myDog.breathe(); // 输出: 呼吸空气(调用默认方法)
Animal.isAnimal(myDog); // true(调用静态方法)

123


文件结构​

src/
└── com/└── example/└── workflow/├── ExecutorCallback.java├── MyCallback.java├── WorkflowExecutor.java└── Main.java

1. ExecutorCallback.java​

package com.example.workflow;// 定义回调接口,无需额外导入
public interface ExecutorCallback {void onStart();void onStepDone(String step);void onComplete();void onError(String error);
}

​2. MyCallback.java​

package com.example.workflow;// 需要导入同一包内的接口
import com.example.workflow.ExecutorCallback;public class MyCallback implements ExecutorCallback {@Overridepublic void onStart() {System.out.println("工作流开始执行!");}@Overridepublic void onStepDone(String step) {System.out.println("步骤完成: " + step);}@Overridepublic void onComplete() {System.out.println("✅ 全部执行完毕!");}@Overridepublic void onError(String error) {System.out.println("❌ 错误: " + error);}
}

​3. WorkflowExecutor.java​

package com.example.workflow;// 导入同一包内的接口
import com.example.workflow.ExecutorCallback;public class WorkflowExecutor {private ExecutorCallback callback;public void setCallback(ExecutorCallback callback) {this.callback = callback;}public void execute() {try {callback.onStart();callback.onStepDone("步骤1");Thread.sleep(1000); // 属于 java.lang,无需显式导入callback.onStepDone("步骤2");Thread.sleep(1000);callback.onComplete();} catch (InterruptedException e) {callback.onError("执行超时");}}
}

​4. Main.java​

package com.example.workflow;// 导入同一包内的类
import com.example.workflow.WorkflowExecutor;
import com.example.workflow.MyCallback;public class Main {public static void main(String[] args) {WorkflowExecutor executor = new WorkflowExecutor();executor.setCallback(new MyCallback());executor.execute();}
}

因为callback就是实例化的ExecutorCallback类了

callback.onStart() 等于 ExecutorCallback.onStart()

相关文章:

  • 高压场景首选:CKESC ROCK 120A-H CAN 电调技术解析与实测报告
  • 51c大模型~合集122
  • 第十六节:开放性问题-Vue与React Hooks对比
  • vue3:v-model的原理示例
  • ISO-C99标准 最小限定值
  • 驱动开发硬核特训 │ Regulator 子系统全解
  • IDEA2022.3开启热部署
  • 【React Native】精通 react native
  • 假云阴影模拟
  • 数字孪生三维建模+虚拟仿真,构建可预测的未来工厂
  • QT采用mqtt进行通信(17.1)
  • 小波变换和图像的融合
  • 征程 6 逆向自证 hbm 与 bc 一致性
  • Spring系列五:手动实现Spring底层机制 第一部分
  • 在 Conda 中,包的安装路径在电脑的哪里
  • SwiftUI 10.Toggle介绍和使用
  • 无人设备遥控器之实时数据保护技术篇
  • 60、微服务保姆教程(三)Sentinel---高可用流量管理框架/服务容错组件
  • 新时代下的存储过程开发实践与优化
  • 模板方法模式(Template Method Pattern)
  • 对话|贝聿铭设计的不只是建筑,更是生活空间
  • 专访丨青年作家杜梨:以动物的视角去观察这个世界
  • 见证上海援藏30年成果,萨迦非遗珍品展来沪
  • 国家发改委答澎湃:将建立和实施育儿补贴制度,深入实施提振消费专项行动
  • 马上评丨学生举报食堂饭菜有蛆,教育局应该护谁的犊子
  • 张译、惠英红分获第二十届中国电影华表奖优秀男、女演员奖