接口的语法
修饰符 interface 接口名 [extends 父接口]{ 常量 抽象方法 默认方法 }
用法
接口定义如下:
/**
* 动物接口
*
* @author Admin
*/
public interface Animal {
void eating(String food);
void drinking();
void excreting();
void sleeping();
}
实现类如下:
public class Dog implements Animal{
@Override
public void eating(String food) {
System.out.println("正在吃" + food);
}
@Override
public void drinking() {
System.out.println("正在喝水");
}
@Override
public void excreting() {
System.out.println("正在排泄");
}
@Override
public void sleeping() {
System.out.println("正在睡觉");
}
}
测试如下:
public class Test {
public static void main(String[] args) {
Animal dog = new Dog();
dog.eating("骨头");
dog.drinking();
dog.excreting();
dog.sleeping();
}
}
继承(extends)与实现(implements)
一个类只能有一个父类,但一个类可以实现多个接口,这也是在Java中,实现接口比继承父类更常用的一个主要原因。
接口解决的问题
接口是对问题的一种抽象,比如架构师对当前想要开发的系统理解深刻,他会以接口的形式将方法的用途、使用方式定死,后续的工作仅需要不同的人来围绕着接口去实现它即可。
接口中的方法的修饰符
- 接口中的方法默认都是 public abstract 修饰的,所以在接口中定义方法的时候可以省略这些修饰符
- 接口不能被实例化,接口没有构造方法
- 接口的意义是规范,所以接口被类实现才是接口的意义所在