首页 新闻 搜索 专区 学院

Java接口是什么?

-3
[待解决问题]

Java的接口是什么,有没有通俗易懂的解释

勤快的懒羊羊的主页 勤快的懒羊羊 | 菜鸟二级 | 园豆:204
提问于:2020-07-08 12:52
< >
分享
所有回答(8)
0

hand shake hand

猝不及防 | 园豆:2493 (老鸟四级) | 2020-07-08 13:20
1

定义方法(行为)的名称、参数类型和返回值类型。为什么需要接口可参见这里:www.oodesign.com

会长 | 园豆:10269 (专家六级) | 2020-07-08 13:36

全是英文,看不懂

支持(0) 反对(0) 勤快的懒羊羊 | 园豆:204 (菜鸟二级) | 2020-07-08 14:12

@勤快的懒羊羊: 可以看看“设计模式”相关的书,就知道接口的妙用了

支持(0) 反对(0) 会长 | 园豆:10269 (专家六级) | 2020-07-08 14:43

这个不错 👍

支持(0) 反对(0) 小鸣Cycling | 园豆:275 (菜鸟二级) | 2020-07-08 17:01
0

定义:Java接口(Interface),是一系列方法的声明,是一些方法特征的集合。
举例:电视机的电源按钮就是连接用户与电视机之间的接口,用户不用太关心电视机里面结构,点击按钮就能使用电视机功能。
java中什么是接口

ycyzharry | 园豆:23921 (高人七级) | 2020-07-08 22:41
0

打lol吗?
比如一个接口叫英雄,他有走路,平A,施法的方法(还没具体写出来,我们称为还未实现)
然后现在搞一个EZ出来,实现了英雄这个接口,然后用自己的代码重写了里面的走路,平A,施法等方法,
现在又搞一个VN出来,同样也实现了英雄这个接口,也写了自己的走路,平A,施法。
说的扯淡一点,接口是最高层次的抽象,下面还有抽象类和其他的一些东东。
就是一个模型,你可以实现这个模型,在上面搞你自己的一些乱七八糟的东西,但是,这个模型里面的全部东西,你都要给他搞出来,如果你只想搞一半,其他的不搞了,请用抽象类实现接口,再用类继承抽象类。
个人见解,欢迎辩论,不喜勿喷,诚心求学。

biubiubiuovo | 园豆:211 (菜鸟二级) | 2020-07-10 00:39
0

有接口的原因是java单继承,但是你想要更多的功能,这个时候怎么办呢,实现多个接口就好啦。
比如你和你爸就是单继承,你只能继承你爸的房子,但是你不但想要房子,还想要别墅怎么办呢,傍个大款(干爹)啊,听他的话,按照他的要求做事情,说不定他一高兴就会给你买跑车、别墅。你的目标不就实现了么。哈哈哈

多安分 | 园豆:437 (菜鸟二级) | 2020-07-11 14:06
0

可以这样理解,一个人可以具有多项能力,一个类可以实现多个接口,一个接口就是一种能力

企昂昂 | 园豆:111 (初学一级) | 2020-07-14 07:33
0

相当于传递消息的入口

具体的如下:
对象通过其公开的方法定义了它们与外界的交互。方法形成对象与外界的接口;例如,电视机正面的按钮是您与塑料外壳另一侧的电线之间的接口。您按下“电源”按钮可以打开和关闭电视。

在最常见的形式中,接口是一组具有空主体的相关方法。如果将自行车的行为指定为接口,则可能如下所示:
class ACMEBicycle implements Bicycle {

int cadence = 0;
int speed = 0;
int gear = 1;

// The compiler will now require that methods
// changeCadence, changeGear, speedUp, and applyBrakes
// all be implemented. Compilation will fail if those
// methods are missing from this class.

void changeCadence(int newValue) {
     cadence = newValue;
}

void changeGear(int newValue) {
     gear = newValue;
}

void speedUp(int increment) {
     speed = speed + increment;   
}

void applyBrakes(int decrement) {
     speed = speed - decrement;
}

void printStates() {
     System.out.println("cadence:" +
         cadence + " speed:" + 
         speed + " gear:" + gear);
}

}
参照https://docs.oracle.com/javase/tutorial/java/concepts/interface.html

Honey_Badger | 园豆:185 (初学一级) | 2020-07-16 17:17
0

给你个简单明了的说法:
Java中的Interface,通俗来讲就是定义规则,规定一个Class只能存在什么方法。
你可能想一会儿后会有疑问,为什么要这么做?我直接在Class里面为所欲为不好么,为什么要被限定死。
其实这是个角度问题,举几个例子:
当你的上级要求你实现某个功能时,他自己写了一个接口,定义了一系列的方法签名在其中,然后要求你以他的Interface文件名+Impl 命名你的Class,并且要求你根据Interface内定义的方法签名,写出其具体实现,方法的参数及返回值他都已经规定到了Interface中,你只需要写具体实现过程即可。

再举一个例子:
JAVA JDBC相信你清楚,你有没有考虑过,为什么JAVA JDBC一套代码就能兼容市面上那么多数据库?
因为JDBC提供了一套约定,或者叫一系列的Interface,要求想要能够JAVA使用的数据库厂商们,必须遵守JAVA提出的约定,你可以有时间看看Mysql-Connection.jar 内的代码结构,其中JAVA SPI技术可能很多人都不清楚,个人建议需要明白什么是SPI。

以上两个例子从不同的角度解释了Interface,如果还有不明白的地方,欢迎联系我。

闲云野鹤闲散人 | 园豆:202 (菜鸟二级) | 2020-10-16 15:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册