接口有什么用啊?既然接口仅仅是一种描述,而没有实现,那用接口有什么用呢?直接写一个类,完成一些方法不是更省事么?接口的定义那不是多余的么?见有人说接口就是只知道他是干什么的,而不用知道是怎么实现的,我很纳闷啊,不实现方法的话那不是什么功能都没有么?你知道他能干生么.但是他干不了有什么用啊?
接口是一种规范
软件开发大多是一个协作性的工作:电器和插座分别是不同人完成的,有了接口大家就能分头开干,都按照接口来办事,各自做完就能轻松地整合到一起。各部分的测试也更加方便。
接口在开发过程中可以快速分离工作内容。
比如调用者在写业务逻辑的时候需要一个功能,可能是数据库访问,或者复杂计算,但是他的工作专注于实现业务逻辑,不想分开精力去做底层实现,那么他只需要先实现一个接口,定义了规范,然后就可以继续他的业务逻辑代码了。而实现者可以根据这个接口规范,做具体的实现。
这样通过使用接口就可以快速的分离工作内容,达到团队并行工作的目的。
扩展资料:
功能
在Java语言规范中,一个方法的特征仅包括方法的名字,参数的数目和种类,而不包括方法的返回类型,参数的名字以及所抛出来的异常。在Java编译器检查方法的重载时,会根据这些条件判断两个方法是否是重载方法。
但在Java编译器检查方法的置换时,则会进一步检查两个方法(分处超类型和子类型)的返还类型和抛出的异常是否相同。
接口实现和类继承的规则不同,为了数据的安全,继承时一个类只有一个直接父类,也就是单继承,但是一个类可以实现多个接口,接口弥补了类的不能多继承缺点,继承和接口的双重设计既保持了类的数据安全也变相实现了多继承。
Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所以Java接口比Java抽象类更抽象化。但是接口不是类,不能使用new 运算符实例化一个接口。
参考资料:百度百科-Java接口
不明白,您可以给举个例子么?既然继承了接口了,不就是相当于一个新的类么?肯定是用一个别的名字啊,而且接口里也没有方法的实现,只有个定义,全是空的,那怎么增强功能呢?功能不是需要实现的么?
追答接口中都是抽象方法 只能靠子类去复写其方法实现功能扩展
class person {
void eat() {
System.out.println("吃饭");
}
public void smoke() {
System.out.println("抽烟");
}
}
Interface inner {
void smoke();
}
简单的小例子 因为抽烟不是人的基础功能 所以定义成父类继承就不合适 定义在父类继承了就变成是人都必须抽烟 所以定义成接口你需要定义person这个类抽烟时你就implements这个接口 就有抽烟功能 而不想继承那样强制性的拥有其父类功能 类与类之间的耦合度降低了 例子不是太好 应该能明白