interface 接口

1.接口

  • 接口可以多继承:extends 父接口1,父接口2,父接口3 继承时子接口必须覆盖父接口的所有方法
  • 接口引用指向实现类对象称为更自然的多态,可以调用实现类对象中该接口对应的方法
  • 好处:程序的耦合度更低,更自认的使用多态,设计与实现完全分离,更容易搭建程序框架,更容易更换具体实现。

2.interface
接口通过interface修饰,接口也可以说是一个特殊的抽象类,接口可以从宏观和微观上来看。
(1)宏观:接口是一种标准
(2)微观:接口是一种能力和约定

接口没有构造方法,j’d’k1.8以前的版jdk本接口内仅可定义两种:

1).公开静态常量: public static final int in=1;
2).公开抽象方法:public abstract void eat();
jdk1.8以后,接口中多了可以定义静态方法:
*3)public static void eat() { }

这三种定义均为隐形,就是说不管你写不写他的修饰,他都会默认修饰成这两种形式;也就意味着,任何类实现接口类是,必须进行接口类抽象方法的重写,而且必须为public修饰符。
微观上来讲,java为单继承,当父类的方法种类无法满足子类需求时,可实现接口扩充子类能力;宏观上来讲,可以通过接口的常量来定义某一个多使用的词,以便所有人使用,比如常用的π,可以将其直接在接口内定义成PI=3.1415926。接口内的方法可以供给使用者调用,我们把这种方法称为接口回调

package com.demo.service;
public interface ClientService {

 public static final int in=1;
 public abstract void eat();
 
}

3.implements
引用implements来进行接口的实现,可以多实现,就是可以implements实现多个接口。当实现接口定义完成,就必须重写接口内的抽象方法,接口的实现是给使用者定义接口方法的行为,给这个方法一个能做什么的能力。

package com.demo.service.impl;

@Service
public class  ClientServiceImpl implements ClientService {

public void eat(){
System.out.println("这是接口的实现")
}

}

4.接口回调
接口的回调是接口的重点,也是基于这个去完成框架的实现。接口的回调是先定义下接口的标准,然后使用者去调用,再进行接口的实现,然后给我们程序员去调用
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/MemoryLoss78/article/details/105030766