接口(interface)技术

本文深入探讨了接口和抽象类的概念,解释了接口如何作为补充,允许类实现多继承的特性,以及接口与抽象类在定义和使用上的关键区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是接口?
先看抽象类:

abstract  class  类名  {
属性1;
属性2;
.....
非抽象方法1;
非抽象方法2;
......
抽象方法1;
抽象方法2;
......
}  

设想,将上述抽象类中“实在的成员”,删除,即删除那些非抽象的成员。则,自然该抽象类中,就只有抽象方法;

abstract  class  类名  {
抽象方法1;
抽象方法2;
......
}  

由此,可以理解为:这个抽象类,“太抽象了”,几乎自己什么都没做,就光让别人做什么。
那么:
接口就是这样一个“天然不实在”的家伙:
接口,就是规定,里面只能放“抽象方法”和“常量”的一种类似类的语法结构;
——可见,接口就是“比抽象类更抽象的”一种语法结构。
接口(interface)定义形式:

interface  接口名{
常量1;
常量2;
.....
抽象方法1;
抽象方法2;
.....
}

说明:
1,可见,接口中,只有常量(接口常量)和抽象方法两种成员;
2,接口常量的使用形式为: 接口名称::常量名称;
3,接口中的抽象方法,不要使用abstract修饰,也不需要使用访问控制修饰符,因为其天然就是public
在这里插入图片描述
为什么需要接口?
面向对象编程思想是对“现实世界”的描述(模拟)!
现实世界往往都都是多继承的;
但:
出于降低类跟类之间关系的复杂度的考虑,就将语言设计为单继承的;
但这样,就无法表达出现实世界的多继承特性;
则:
接口就是对没有多继承的类之间关系的一个补充;

因为:接口可以实现“多继承”——但此时不称为继承而已,而是称为“实现”;
即:
接口1 -->> 类1;
就称为:类1实现了接口1;
其本质,其实就是类1中,有了接口1中“特征信息”;
使用形式:
形式为:

class  类名  implements  接口名1, 接口名2, ....{	
 //类的定义。
}

这里,叫做,类实现了接口。
在这里插入图片描述
其中,接口跟接口之间,也可以继承,跟类之间的继承:

interface  接口1  extends  接口2{
	//接口的成员定义;。。。。
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值