一、接口
如何定义一个接口的格式:
public interface 接口名称{
//接口内容
}
备注:换成了关键字interface之后,编译生成的字节码文件仍然是:.java --> .class.。
如果是java7,那么接口中可以包含的内容有:
1、常量
2、抽象方法
java8,还可以额外包含有:
1、默认方法
2、静态方法
java9,还可以额外包含有:
1、私有方法
接口使用步骤:
1、接口不能直接使用,必须有一个“实现类”来“实现”该接口。
格式:
public class 实现类名称 implements 接口名称{
//…
}
2、接口的实现类必须覆盖重写(实现)接口中所有的抽象方法。
实现:去掉abstract关键字,加上方法体大括号。
3、创建实现类的对象,进行使用。
注意:如果实现类并没有覆盖重写接口中的所有抽象方法,那么这个实现类自己就必须是抽象类。
接口的抽象方法的注意事项:
1、接口当中的抽象方法,修饰符必须是两个固定的关键字:public abstract。
2、这两个关键字修饰符,可以选择性的省略。
3、方法的三要素可以随意定义。
接口的默认方法,格式:
public default 返回值类型 方法名称(参数列表){
//方法体
}
备注:接口当中的默认方法,可以解决接口升级的问题。
接口的私有方法:
1、普通的私有方法,可以解决默认方法之间重复代码问题。
格式:
private 返回值类型 方法名称(参数列表){
//方法体
}
2、静态私有方法,可以解决多个静态方法之间重复代码问题
格式:
private static 返回值类型 方法名称(参数列表)
{
//方法体
}
二、多态的格式与使用(p186-p189)
格式:
父类名称 对象名 = new 子类名称();
或者:
接口名称 对象名 = new 实现名称();