• Java面向对象16:接口的定义与实现


    普通类:只有具体的实现

    抽象类:具体的实现和规范(抽象方法)都有

    接口:只有规范!自己无法写方法,专业的约束,约束和实现分离:面向接口编写(大佬把接口定义好了,菜鸟去实现那个接口写里面的方法)

    # 接口就是规范,定义的是一组规则,体现了现实世界中“如果你是....则必须能....”的思想。如果你是天使,则必须能飞。如果你是汽车,则必须能跑。

    # 接口的本质是契约,就像我们人间的法律一样,制定好后大家都遵守

    # OO 的精髓,是对对象的抽象,最能体现这一点的就是接口。为什么我们讨论设计模式都只针对具备了抽象能力的语言(比如 C++,Java,C# 等),就是因为设计模式所研究的,实际上就是如何合理的去抽象

    # 声明类的关键字是 class,声明接口的关键字是 interface

    1. package demo01;
    2. public interface TimeService {
    3. void time();
    4. }
    1. package demo01;
    2. // interface 定义接口的关键字
    3. public interface UserService { // User 用户,Service 业务
    4. /*
    5. 接口中的所有定义都是抽象的
    6. 默认的,public abstract 已经定义好了
    7. 可以直接写: 返回值类型 方法名(参数);
    8. */
    9. void add(String name); // 增
    10. void delete(String name); // 删
    11. void update(String name); // 改
    12. void query(String name); // 查
    13. // 这里只有没有具体的实现,接口都需要有实现了
    14. /*
    15. 接口中属性默认了常量
    16. publice static final 已经定义好了
    17. */
    18. int age = 99;
    19. }
    1. package demo01;
    2. /*
    3. 接口的实现类一般用 Impl 来结尾
    4. 抽象类:extecds 只能单继承
    5. 接口:implements 可以利用接口实现多继承
    6. 实现了接口的类,必须要重写接口中的所有方法
    7. 如果要实现接口里定义,必须要去重写里面所有的方法
    8. */
    9. public class UserServiceImpl implements UserService,TimeService {
    10. @Override
    11. public void add(String name) {
    12. }
    13. @Override
    14. public void delete(String name) {
    15. }
    16. @Override
    17. public void update(String name) {
    18. }
    19. @Override
    20. public void query(String name) {
    21. }
    22. @Override
    23. public void time() {
    24. }
    25. }

    接口的作用:

    1,约束

    2,定义一些方法,让不同的人实现

    3,方法都是,public abstract

    4,属性都是常量,public static final

    5,接口不能被实例化,接口中没有构造方法

    6,接口可以实现多继承

    7,必须要重写接口中所有的方法

  • 相关阅读:
    经典的风控授信流程与增信策略
    mysql忘记密码无法登录
    基于微信小程序的订餐系统
    ES6-ES12部分简单知识点总结,希望对大家有用~
    分布式数字身份:通往Web3.0世界的个人钥匙
    [linux] 查看进程PID以及进程详细信息
    融云观察:AI Agent 是不是游戏赛道的下一个「赛点」?
    CORE: Cooperative Reconstruction for Multi-Agent Perception 论文阅读
    Ubuntu 上卸载并重新安装 MySQL
    【Java】三种不同的方式实现用户登录
  • 原文地址:https://blog.csdn.net/Lhx2046933776/article/details/128042926