java接口interface

举报
西红柿炒鸡蛋儿 发表于 2022/02/26 20:36:14 2022/02/26
【摘要】 ​一.接口:1.接口也是一种“引用数据类型”,编译之后也是一个class字节码文件。2.接口是完全抽象的(抽象类是半抽象)或者也可以说接口是特殊的抽象类。3.接口的语法?【修饰符列表】 interface 接口名{}4.一个接口可以继承多个接口(支持多继承  用 ,隔开)5.接口中只包含两部分内容(没有其他内容):一部分是“常量” 一部分是:抽象方法  6.接口中所有的元素都是public修...

一.接口:

1.接口也是一种“引用数据类型”,编译之后也是一个class字节码文件。

2.接口是完全抽象的(抽象类是半抽象)或者也可以说接口是特殊的抽象类。

3.接口的语法?

【修饰符列表】 interface 接口名{

}

4.一个接口可以继承多个接口(支持多继承  用 ,隔开)

5.接口中只包含两部分内容(没有其他内容):

一部分是“常量” 一部分是:抽象方法 

6.接口中所有的元素都是public修饰的(都是公开的)

7.接口中的常量的public static final可以省略。

8.接口中的抽象方法定义时:public abstract 修饰符可以省略。

9.接口中的方法都是抽象方法,所以接口中的方法不能有方法体。

10.接口中随便写一个变量就是常量     


二.小结:

接口中方法不能有方法体

一个非抽象的类,实现接口的时候,必须将接口中所有方法实现

一个类中可以实现多个接口

extends和implements可以共存,extends在前,implement在后

使用接口,写代码的时候,可以使用多态(父类型引用指向子类型对象)


三.接口的基础语法:

1.类和类之间叫做继承,类和接口之间叫做实现。 //也可以看成“继承”

  继承使用extends关键字完成 

  实现用implements关键字完成

注意:当一个非抽象的类实现(继承)接口的话,必须将接口中所有的抽象方法全部实现(覆盖、重写)而且接口里的方法都是public的


一个类可以继承多个接口,但是要重写接口里的方法。(加public 和大括号)这种机制弥补了java中的那个缺陷?

java中类和类只支持单继承,实际上单继承是为了简单而出现的,现实世界中存在多继承,java中的接口弥补了单继承带来的缺陷。

接口a和接口b虽然没有继承关系,但是写代码的时候,可以互转。

编译器没意见,但是运行时可能出现:classCastException;

之前有个结论:

无论向上转型还是向下转型,两种类型之间必须要有继承关系,没有继承关系编译器会报错(这句话不适合在接口方面)

向下转型养成好习惯,转型之前先if+instanceof进行判断。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。