接口
**概念:**如果一个类之中只是由抽象方法和全局常量所组成的,那么在这种情况下不会将其定义为一个抽象类,而只会将其定义为接口,所以所谓的接口严格来讲就属于一个特殊的类,而且这个类里面只有抽象方法与全局常量。
关键字: interface
定义格式:
public interface 接口名称{
// 抽象方法
}
接口的作用:
-
有利于代码的规范
-
有利于代码进行维护
-
有利于代码的安全和严密
-
丰富了继承的方式
接口的特点:
耦合性低、规范化等等,接口与接口之间可以多继承,类与接口之间可以多实现。
接口中只能放静态常量、抽象方法。
通过实现接口,java类可以实现多实现(一个类可以实现多个接口,即一个类可以有多种功能)。
接口的实现:
关键字: implements
- 类可以实现一个或多个接口
- 类中必须重写接口中的全部方法( 抽象类 可只重写接口中的部分方法)
- 接口中定义的常量,在继承了接口的类中可以直接使用。
接口间的继承:
public interface Eatable{ //定义了一个Eatable接口
void eat();
}
public interface Sleepable{ //定义了一个Sleepable接口
void sleep();
}
public class Animal{ // 定义了一个Animal类
public String name;
public Animal(String name) {
this.name = name;
}
}
public Dog extends Animal implements Eatable,Sleepable{ //继承了Animal类,Eatable接口 ,Sleepable方法
public Dog(String n) {
this(n);
}
public void eat() { //重写Eatable中的eat方法
System.out.println(name+"吃骨头");
}
public void sleep() { //重写Sleepable中的sleep方法
System.out.println(name+"睡得很好");
}
}