接口

接口:

1.java使用interface这个关键字来声明接口,修饰符一般都是public,interface后就是接口的名字

2.java8之前接口内不能实现方法,接口方法不需要加修饰符,加与不加都是public abstract

3.接口与类不同,他的方法没有实现代码定义一个接口本身并没有做什么

4.java使用implements这个关键字表示接口,前面是类名,后面是接口名

 public class Point inplements MyComparable{}

5.一个类可以实现多个接口,表明类的对象具备多种能力,各个接口之间以逗号分隔

public class Test implents Interface1,Interface2

6.接口不能new,对象只能通过类来创建,可以声明接口类型的变量,引用实现接口的类对象

Interface1 p1=new classname();

7.接口中的变量

public interface Interface1{public static final int a=0;}

修饰符可选,但不写也是public static final

使用:Interface1.a

8.接口的继承

接口同样可以使用extends关键字继承,不同的是一个接口可以继承多个父接口,中间以逗号相隔

9.类的继承与接口

类可以在继承基类的情况下,同时实现一个或多个接口 关键字extends要放在implement之前

10.接口也可以使用instanceof关键字,用来判断一个对象是否实现了某接口

11.使用组合和接口替代继承

12.java8和9对接口的增强:

java8中允许在接口中定义两类新方法:静态方法和默认方法,他们都有实现体

默认方法用default关键字表示,有默认的实现,实现类可以改变它的功能,也可以不改变

引入默认方法主要是函数式数据处理的需求,是为了便于给接口增加功能

在java8中,静态方法和默认方法都必须是public的,java9去除了这个限制,他们可以是private的,主要为了方便多个静态或默认方法复用代码

原文地址:https://www.cnblogs.com/wtblogwt/p/9716681.html