1、什么是接口?
笔记本电脑的USB接口,电源插座等都可以看做是接口,接口就可以理解为:多个类的公共规范,是一种引用数据类型。
2、语法
(1)定义一个接口
public interface 接口名称{
}
注:
a.接口名称一般以大写字母I开头
b.形容词性的单词
c.接口的方法和属性不要加任何的修饰号,保持代码的简洁性
(2)使用接口
接口的使用必须要通过“实现类”来“实现”这个接口,实现接口中所有的抽象方法
实现类如下:
public class 类名称 implements 接口名称{
}
注:子类和父类之间是extends继承关系,类与接口之间是implements实现关系。
3、接口的特性
- 接口是一种引用类型,但是不能直接new接口的对象
- 接口中的每一个方法都是public的抽象方法,即接口的方法会被隐式指定为public abstract(只能是public abstract,其他会报错)
- 接口的方法不能在接口中实现,只能由实现接口的类来实现
- 重写接口的方法时,不能使用默认的访问权限
- 接口中不能有静态代码块和构造方法
4、实现多个接口(以动物类举例说明)
(1)首先我们先定义一个动物类
class Animal { public String name; public Animal (String name) { this.name = name; }
(2)提供一组接口,分别表示会飞的,会跑的,会游泳的
interface IFling{ void fiy(); } interface IRuning{ void run(); } interface ISwimming{ void swim(); }
(3)接下来创建几个具体的动物
class Cat extends Animal implements IRuning{
public Cat (String name){
super (name);
}
@Override
public void run(){
System.out.println(this.name+"正在用四条腿走路");
}
}
注:一个类实现多个接口时,每个接口的抽象方法都要实现,否则类必须设置为抽象类。
5、接口的好处:时刻牢记多态的好处,让程序员忘记类型,有了接口之后,类的使用者就不必关注具体的类型,而关注这个类是否具备某种能力。