• 15.接口


    接口:interface
    • 普通类:只有具体实现
    • 抽象类:具体实现和规范(抽象方法)都有!不能new只能通过子类实现
    • 接口:只有规范!自己无法写方法~专业的约束! 约束和实现分离:面向接口编程~
    • 接口就是规范,定义的是一组规则,体现了现实世界中"如果你是...则必须能..."的思想。如果你是天使,则必须能飞。如果你是汽车,则必须能跑。
    • 接口本身是契约,就像我们人间的法律一样。制定好大家都遵守。
    • OO的精髓,是对对象的抽象,最能体现这一点的就是接口。为什么我们讨论设计模式都只针对具备了抽象能力的语言(比如c++、java、c#等),就是因为设计模式研究的,实际上就是如何合理的去抽象。

     1 package com.oop.demo10;
     2 
     3 // interface 定义关键字 , 接口都需要有实现类
     4 public interface UserService {
     5 
     6     //公共的静态常量~ public static final
     7     public static final int AGE = 99;
     8 
     9     //接口中的所有定义的方法,其实都是抽象的 public abstract
    10     public abstract void add(String name);
    11 
    12     void delete(String name);
    13 
    14     void update(String name);
    15 
    16     void query(String name);
    17 
    18 }
    1 package com.oop.demo10;
    2 
    3 public interface TimeService {
    4     void timer();
    5 }
     1 package com.oop.demo10;
     2 
     3 // 抽象类:extends~
     4 // 类 可以实现接口 implements 接口  Alt+回车-->implements method-->回车
     5 // 实现了接口的类,就需要重写接口中的方法~
     6 
     7 // 多继承~利用接口实现多继承~
     8 public class UserServiceImpl implements UserService, TimeService {
     9 
    10     @Override
    11     public void add(String name) {
    12 
    13     }
    14 
    15     @Override
    16     public void delete(String name) {
    17 
    18     }
    19 
    20     @Override
    21     public void update(String name) {
    22 
    23     }
    24 
    25     @Override
    26     public void query(String name) {
    27 
    28     }
    29 
    30 
    31     @Override
    32     public void timer() {
    33 
    34     }
    35 }
    作用:
    1. 约束
    2. 定义一些方法,让不同的人去实现~ 10个员工都会去实现一个接口但是有10中不同的实现方式
    3. 接口中的默认的方法都是public abstract
    4. 常量:public static final
    5. 接口不能被实例化~、接口中没有构造方法~
    6. implements可以实现多个接口用逗号隔开
    7. 必须要重写接口中的方法~
  • 相关阅读:
    ELF文件&ELFminer初识
    模型融合——stacking原理与实现
    机器学习&恶意代码静态检测
    机器学习模型部署摘要
    Linux统计文件夹、文件数量的命令
    机器学习&恶意代码检测简介
    基于FastAPI的机器学习模型部署快速上手
    机器学习&恶意代码动态检测
    python 正则表达式
    给 zsh 自定义命令添加参数自动补全
  • 原文地址:https://www.cnblogs.com/duanfu/p/12222628.html
Copyright © 2020-2023  润新知