为什么Java需要接口?
Java中不支持多重继承,如若需要从几个类中派生出一个子类,继承它们所有的属性和方法,就要用到接口。
接口的特点
- 用interface来定义
- 接口的方法都是public且默认不需要方法体(即不要大括号)
接口实现类
- implements
- 接口定义的方法在实现类里必须要全部实现了,而且方法签名要一模一样
public class Person {
}
public interface PersonService {
void move();
}
public interface Person1Service {
void eat();
}
/**
* 接口可以继承接口
*/
public interface Person3Service extends Person1Service{
}
/**
* 子类继承父类,只能继承一个父类
* 类可以实现多个接口,多个接口之间用“,”分隔
*
* 如果一个类既继承父类,又实现接口
* 那么先继承,后实现
*/
public class PersonServiceImpl extends Person implements PersonService,Person1Service{
@Override
public void move() {
}
@Override
public void eat() {
}
}
接口实例化
接口是不能单独实例化的,因为接口只是定义,没有具体的实现是不允许实例化的。正确的实例化时结合实现类的。
PersonService per = new PersonServiceImpl();