抽象类和接口
抽象类
抽象方法:abstract修饰符的方法。
抽象类:abstract修饰符的类。
/** *abstract抽象类,单继承 * 不能new只能靠子类去实现 * 抽象类中可以写普通方法,抽象方法一定要再抽象类中。 */ public abstract class Action { //只有约束,没有方法体 public abstract void doSomeThing(); }
public class A extends Action{ //继承抽象类必须实现抽象类中的方法,或者再将方法抽象由继承的子类实现 @Override public void doSomeThing() { } }
接口
普通类:只有具体实现。
抽象类:具体实现和规范(抽象方法)都有。
接口:只有规范,自己无法写方法。(约束和实现分离)
//interface 接口的关键字,接口都需要有实现类Impl public interface UserService { //接口中所有的定义都是抽象的public abstract,所以关键字可以省略。 public abstract void add(String name); void update (String name); void delete(String name); }
/** * 类 可以实现接口 implements 接口 * 实现了接口的类,就需要重写接口中的方法 */ //利用接口 实现多继承 public class UserServiceImpl implements UserService,TimeService { @Override public void add(String name) { } @Override public void update(String name) { } @Override public void delete(String name) { } @Override public void timer() { } }
接口的作用:
1.约束
2.定义一些方法,让不同的人实现
3.方法都是public abstract
4.常量都是public static final
5.接口不能被实例化,接口中没有构造方法
6.接口implements可以实现多接口
7.必须重写接口中方法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗