1、什么是接口?
Java接口是一系列方法的声明,是一些方法特征的集合。而且说到接口,就有必要提一下上一篇刚讲过抽象类,因为接口就是一个特殊的抽象类,它无法被实例化,所有的方法默认都是抽象方法,所以一个接口只有方法的特征没有方法的实现。
1.1接口的格式:
修饰符 interface 接口名{
方法体
}
1.2使用接口需要注意的:
1.所有的方法都是抽象方法。
2.接口内的成员默认都是static、final以及public。
3.接口没有构造方法。
4.接口可以被接口继承,不能被类(抽象类)继承。(接口可以继承两个接口)
5.接口需要被实现,子类实现接口会去重写抽象方法补全方法体。
6.一个子类可以实现多个接口,接口可以继承接口。
1.3接口的优点:
1.降低耦合度。
2.子类可以实现多个接口,间接实现了多继承。
3.间接操作,增加了安全性。
4.提高了程序的扩展性。
1.4案例演示
接口:Action Thinking
public interface Action {
abstract void run();
//如果方法没写abstract,默认前面是abstract
void eat();
}
public interface Thinking {
void study();
}
子类:People
//继承Action、Thinking两个接口
public class People implements Action,Thinking {@Override
public void run() {
System.out.println("人跑的方法");
}@Override
public void eat() {
System.out.println("人吃的方法");
}@Override
public void study() {
System.out.println("人学习的方法");
}}
子类:Animal
public class Animal implements Action {
@Override
public void run() {
System.out.println("动物跑的方法");
}@Override
public void eat() {
System.out.println("动物吃的方法");
}}
测试类:Test
public class Test {
public static void main(String[] args) {
People people = new People();
people.eat();
people.run();
people.study();
Animal animal = new Animal();
animal.eat();
animal.run();
}
}
结果:
人吃的方法
人跑的方法
人学习的方法
动物吃的方法
动物跑的方法
1.5总结
在类的继承中,只能做单重继承,而实现接口,一次可以实现多个接口,这就解决了类不能多重继承的问题,但是推荐继承和接口共同使用,因为这样既可以保证数据安全性又可以实现多重继承。
要注意的是,子类实现接口以后,必须实现接口中定义的方法。