16 接口的定义与实现
接口的定义与实现
/* 接口小结
1. 约束作用
2. 定义一些方法,让不同的人去实现
3. 接口里面的方法默认且只能是 public abstract
4. 接口里面的变量(常量是特殊的变量嘛)默认且只能是 public static final
5. 接口不能被实例化,接口没有构造方法
6. implements关键字 实现接口 可以同时实现多个接口 (类似多继承)
7. 必须在实现接口的类里面重写接口的方法
8. 只有一个方法的接口叫做函数式接口,可以使用ambda表达式简化
*/
package com.zhan.base05Oop.demo07;
/*
一对一:抽象类 需要用到继承: extends 关键字
一对多:接口: 需要类来实现: implements 关键字 类要重写接口里面的方法
*/
// 利用接口来实现 “多继承”,
public class Test16Impl implements Test16_01,Test16_02{ // alt +insert(Fn) 快捷键来生成 实现接口的方法
@Override
public void timer() {
}
@Override
public void run() {
}
@Override
public void fly() {
}
}
package com.zhan.base05Oop.demo07;
// 抽象的思维
/* 接口小结
1. 约束作用
2. 定义一些方法,让不同的人去实现
3. 接口里面的方法默认且只能是 public abstract
4. 接口里面的变量(常量是特殊的变量嘛)默认且只能是 public static final
5. 接口不能被实例化,接口没有构造方法
6. implements关键字 实现接口 可以同时实现多个接口 (类似多继承)
7. 必须在实现接口的类里面重写接口的方法
*/
public interface Test16_01 {
// interface 关键字 接口 接口都需要有实现类
// 接口中所有定义的变量都是 公有的静态的常量的 public static final
public static final int number=999;
int age=19; // public static final 默认存在,可以不写
// 接口中所有定义的方法都是公有的抽象的 public abstract
public abstract void run();
void fly(); // public abstract 默认存在,可以不写 方法可以带参数
}
package com.zhan.base05Oop.demo07;
public interface Test16_02 {
void timer();
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?