java中接口是一种引用数据类型;
接口不能直接new,需要有一个实现类(等同于子类)来实现接口。
1.一个格式
public interface 接口名称{
…
}
在任何版本的java中,接口都能定义抽象方法。
第二点说明接口中只有抽象方法。
2.实现类:必须覆盖重写接口中所有的抽象方法
格式:public class 实现类名称 implements 接口名称{
…
}
3.接口中的默认方法:可以实现接口升级的问题(即一个接口有多个实现类,但是接口升级了添加了其他抽象方法,而为了可以不修改实现类可以把新添加的方法定义为默认方法)
接口中的默认方法会被实现类继承而可以不被实现类实现,当然,实现类也可以覆盖重写接口的默认方法,重写了默认方法的实现类的对象调用的是实现类的方法,而没有覆盖重写接口的实现类的对象调用的是接口的默认方法。
格式:public default 返回值类型 方法名称(参数列表)
{
…
}
4.java 9以后接口中也可以有静态方法,调用格式:接口名.静态方法名()。实现类的对象不能调用接口的静态方法。
5.java 9以后接口中定义的私有方法(private),私有方法不被实现类访问。
6.接口中可以定义成员变量(常量),必须使用public static final 三个关键字进行修饰(final相当于c++中的const)。



