Java的接口

📅 2026/7/12 15:10:43 👁️ 阅读次数 📝 编程学习
Java的接口

接口

  • 普通类:只有具体实现

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

  • 接口:只有规范!自己无法写方法~专业的约束! 约束和实现分离:面向接口编程~

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

  • 接口的本质是锲约,就像我们人间的法律一样。制定好大家必须遵守。

  • 面对对象的精髓,是对对象的抽象,最能体现这一点的就是接口。

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

接口可以理解为干爹,一个儿子有多个干爹,儿子要完成干爹的所有要求。

接口的作用:

  1. 接口本身是一个约束
  2. 接口定义一些方法,让不同的人去实现
  3. 定义的方法 public abstract
  4. 定义的属性public static final
  5. 接口中不能被实例化,接口中没有构造方法~
  6. implements可以实现多个接口
  7. 实现接口必须重写接口中的方法~

总结

  1. JDK7以前:接口只能定义抽象类方法
  2. JDK8:接口中可以定义有方法体的方法(默认defult 静态static)
  3. JDK9:接口中可以定义私有方法,用来抽取其他方法中重复的部分
  4. 私有方法分为静态非静态 静态只能调用静态
packageoop.Demo09;publicinterfaceUserService{//接口中定义的所有属性都是常量intAGE=99;//public static final AGE =99;//接口中的所有定义的方法其实都是抽象的 public abstract//public abstract void run();voidadd(Stringname);voiddelete(Stringname);voidupdate(Stringname);voidquery(Stringname);}packageoop.Demo09;//类可以实现接口 implements 接口//实现了接口的类,就需要重写接口的方法~//多继承~利用接口来实现多继承~publicclassUserServicelmplimplementsUserService,TimeService{@Overridepublicvoidadd(Stringname){}@Overridepublicvoiddelete(Stringname){}@Overridepublicvoidupdate(Stringname){}@Overridepublicvoidquery(Stringname){}@Overridepublicvoidtime(){}}packageoop.Demo09;publicinterfaceTimeService{voidtime();}