接口
- 什么是接口
接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法
普通类:只有具体实现
抽象类:具体实现和规范(抽象方法)都有
接口:只有规范,本质就如同契约一样,制定好后,所有人都要按照契约来遵守。
- 接口的特点
- 接口的实现类必须重写接口的所有抽象方法
- 接口不能用于实例化对象,因为接口没有构造方法。
- 接口中所有的方法必须是抽象方法,Java 8 之后 接口中可以使用 default 关键字修饰的非抽象方法。
- 接口不是被类继承了,而是要被类实现。
- 接口支持多继承。
- 在接口中定义属性,都会自动隐式的在属性前面加上修饰符 public static final,所有接口中定义的属性都是常量
- 在接口中定义方法,都会自动隐式的在属性前面加上修饰符 public abstract,所有接口中定义的方法都是抽象方法
- 接口的实例
//
public interface Shop(){
//在接口中定义属性,都会自动隐式的在属性前面加上修饰符 public static final,所有接口中定义的属性都是常量
int price=100;
//在接口中定义方法,都会自动隐式的在属性前面加上修饰符 public abstract,所有接口中定义的方法都是抽象方法
void buy(int id);
void sale(int sid);
}
public interface Supermarket(){
void show(String name);
}
//接口可以实现多继承
public class SalerImpl implements Shop,Supermarket{
//接口的实现类必须重写接口的所有抽象方法
@Override
public void buy(int id){
}
@Override
public void sale(int sid){
}
@Override
public void show(String name){
}
}
小总结:
1)一个子类只能继承一个父类,一个父类可以有多个子类(a为父类,b类可以继承a类,c类可以继承a类…)
2)一个子类可以实现多个接口(就好比一个子类可以实现多个父类)
3)一个接口只能继承一个接口.