接口概述:
狭义角度,指java中的interface
广义角度,对外提供规则的都是接口
接口就是提供对外访问的规则
接口特点:
- 接口用关键字interface表示
interface 接口名{} - 类实现接口用implements表示
class 类名 implements 接口名{} - 接口不能实例化
按照多态的方式来实例化 - 接口的子类
可以是抽象类,但意义不大
可以是具体类,要重写接口中的所有方法
示例:
package lesson07;
public class Demo07 {
public static void main(String[] args){
Cat c
}
}
//动物接口
interface AnimalInterface{
//在接口里声明的方法都是抽象方法
//在声明方法时,不加abstract,系统默认是抽象方法
//不管在方法里写不写abstract,效果相同
public void eat();
public void sleep();
}
//猫类实现了动物接口
//Cat类是AnimalInterface接口的实现类、子类
class Cat implements AnimalInterface{
@Override
public void eat(){
System.out.println("cat eat!");
}
@Override
public void sleep(){
System.out.println("cat sleep!");
}
}
//不去实现接口里的方法,定义一个抽象类是可以的,说明由抽象类的子类去实现这些方法
abstract class Dog implements AnimalInterface{}
类、接口之间的关系
-
类与类之间
继承关系,只能是单继承,可以多层继承 -
类与接口之间
可以单实现,也可以多实现
还可以在继承一个类的同时实现多个接口 -
接口与接口之间
继承关系 可以单继承,也可以多继承
网友评论