接口:
接口也是一种“引用数据类型”,编译之后也是一个class字节码文件。
接口是完全抽象的或者也可以说接口是特殊的抽象类。
接口的语法?
【修饰符列表】 interface 接口名{
}
一个接口可以继承多个接口
接口中只包含两部分内容:
一部分是“常量”一部分是:抽象方法
接口中所有的元素都是public修饰的
接口中的常量的publicstaticfinal可以省略。
接口中的抽象方法定义时:publicabstract修饰符可以省略。
接口中的方法都是抽象方法,所以接口中的方法不能有方法体。
0.接口中随便写一个变量就是常量
接口的基础语法:
类和类之间叫做继承,类和接口之间叫做实现。//也可以看成“继承”
继承使用extends关键字完成
实现用implements关键字完成
注意:当一个非抽象的类实现接口的话,必须将接口中所有的抽象方法全部实现而且接口里的方法都是public的
一个类可以继承多个接口,但是要重写接口里的方法。这种机制弥补了java中的那个缺陷?
java中类和类只支持单继承,实际上单继承是为了简单而出现的,现实世界中存在多继承,java中的接口弥补了单继承带来的缺陷。
接口a和接口b虽然没有继承关系,但是写代码的时候,可以互转。
编译器没意见,但是运行时可能出现:classCastException;
之前有个结论:
无论向上转型还是向下转型,两种类型之间必须要有继承关系,没有继承关系编译器会报错
向下转型养成好习惯,转型之前先if+instanceof进行判断。
总结:
接口中方法不能有方法体
一个非抽象的类,实现接口的时候,必须将接口中所有方法实现
一个类中可以实现多个接口
extends和implements可以共存,extends在前,implement在后
使用接口,写代码的时候,可以使用多态
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点