API和接口的一些思考

      一直以来,对于接口这个词,总是会有模糊的时候。

      API:应用程序接口。时常会把这里的接口和我们平时自己写程序的时候定义的接口相混瑶。这是一个错误的理解。在我看来,接口应该可以按下面几个类型分类。

      1:API。  2:interface类。   3:一个类引用另一个类的具体方法。(这里的类非接口和抽象)

      提到API,很多人常说:这是编程语言提供给我们的一个接口。如果不仔细去想像,很容易就和我们平时说的接口类混为一谈。甚至认为他们是一个性质的。仔细想想,他们存在的区别还不小。

      一个很简单的例子:Serializable接口。但我们的一个类实现这个接口的时候就可以序列化,Why ???实现其他的接口能不能有相同的作用?NO! 我们自己定义一个接口:叫啥XuLieHua。答案也是否定的。 这到底是为什么?

(以下为个人的猜想)仔细想想,编译器是干吗的。Java关键字又为啥会有作用,我们把变量定义为int,long类型的。Java就可以识别他们。这和编译器是脱离不了关系的。int,long,Serializable这些关键字在编译器中和其他我们自己随便写的因为单词肯定是不一样的”待遇“,当编译器遇到关键字的时候就知道了,哦,原来是你们,那我们知道怎么做了,就会赋予他们一些“特殊”的工作。用了int,那我(编译器)就可以把这个变量当作一个整形。某个类实现了Serializable接口,那好,我个这个类一个“特殊”功能:可以实现序列化。OK。到此为止,API中“I”所代表的接口和我们平时说的,写的接口就可以区分开来了。

      估计很多人都差不多是这么认为:接口就一定是抽象的。NO,不完全。当一个类中有一个具体的方法(public)的时候。我在另外一个类中去引用这个方法。这个时候也可以将此方法称之为一个接口,那是类对另一个类说开放的接口。不能只是简单的认为,具体的方法就不能称为接口。

      接口只是一个叫法,一个名称而已。不同的场合会有不同解释。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值