Day014 接口

Posted 南方风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day014 接口相关的知识,希望对你有一定的参考价值。

接口


普通类、抽象类和接口

  • 普通类:只有具体实现
  • 抽象类:具体实现和规范(抽象方法)都有!
  • 接口:只有规范!

接口的理解

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

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

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

  • 使用接口的好处是可以实现接口和实现的分离(面向接口编程)

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


接口的特点

  • 接口中的所有定义的方法都是公共抽象的 (默认都是public abstract类型)。

  • 接口中所有定义的变量都是公共静态的常量(默认都是public static final类型)。

  • 接口都需要有实现类。

  • 一个类实现接口,就要重写该接口定义的所有方法。

  • 抽象类是类,不允许多重继承,存在局限性,而接口可以多重实现。

  • 规范:实现接口的类最好以Impl结尾。

//抽象的思维

//interface 定义的关键字,接口都需要有实现类
public interface UserService {
    //常量~默认public static final
    int age=99;

    //接口中的所有定义其实都是抽象的 (默认都是public abstract类型的)
     void add(String name);
     void delete(String name);
     void update(String name);
     void query(String name);
}


public interface TimeService {
    void timer();
}


//类可以通过implements关键字实现接口
public class UserServiceImpl implements UserService,TimeService{
    @Override
    public void add(String name) {

    }

    @Override
    public void delete(String name) {

    }

    @Override
    public void update(String name) {

    }

    @Override
    public void query(String name) {

    }

    @Override
    public void timer() {

    }
}


接口的总结

  1. 约束作用。
  2. 定义一些方法,让不同的类去实现。
  3. 方法默认public abstract。
  4. 属性默认public static final。
  5. 接口不能实例化,因为接口中没有构造方法。(抽象类也不能实例化,但是抽象类中有构造方法)
  6. implements可以实现多个接口。
  7. 类实现接口,在这个类里就必须实现接口中的所有方法。

狂神说java

以上是关于Day014 接口的主要内容,如果未能解决你的问题,请参考以下文章

014day--python运算符和作业改进

014 python接口 文件上传

Day014 PAT乙级 1012 数字分类

014 Mui

Day014 Python 数据类型之元组

vue尚品汇商城项目-day014.完成非路由组件Header与Footer业务