java 接口

概念

接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。

接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。

除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。

接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。

补充:如果对接口不是很了解,请参考我另一篇博客详细介绍:https://www.cnblogs.com/chenyanbin/p/11020578.html

基本格式

1 public interface 接口名称test {
2    //任何类型 final, static 字段
3    //抽象方法
4 }

接口当中包含的组成部分有:

  1、抽象方法

  2、常量

  3、默认方法【java 8】

  4、静态方法【java 8】

  5、私有方法【java 9】

抽象方法

注意:

  1、接口中的抽象方法,修饰符如果写必须是:public abstract

  2、接口中的抽象方法,修饰符可以省略不写,默认就是:public abstract

  3、抽象方法只有方法头,不能有方法体大括号

 1 /*
 2  * 如何定义一个抽象方法
 3  * public abstract 返回值类型 方法名称(参数类型 参数名称)
 4  */
 5 public interface Animal {
 6     // 定义一个抽象方法:吃东西
 7     public abstract void Eat();
 8 
 9     // 定义另一个抽象方法:睡觉
10     // 省略了public abstract也照样是抽象方法
11     /* public abstract */ void Sleep();
12 }

接口实现

 1 /*
 2  * 如何要使用定义好的接口,必须有一个接口的“实现类”
 3  * 定义实现类格式为
 4  * 
 5  * public class 实现类名称 implements 接口名称{
 6  *         //重写所有的抽象方法
 7  * }
 8  * 
 9  */
10 public class Cat implements Animal {
11 
12     @Override
13     public void Eat() {
14         System.out.println("猫爱吃鱼~");
15     }
16 
17     @Override
18     public void Sleep() {
19         System.out.println("猫喜欢睡觉~");
20     }
21 
22     public void CatchMouse() {
23         System.out.println("猫抓老鼠~");
24     }
25 }

函数式接口

 1 /*
 2  * 函数式接口
 3  *     有且仅有一个抽象方法的接口
 4  * 
 5  * 在接口上加上:@FunctionalInterface
 6  */
 7 @FunctionalInterface
 8 public interface Calculator {
 9     int sum(int a, int b);
10 }
原文地址:https://www.cnblogs.com/chenyanbin/p/11623351.html