java接口作用是什么?

一直对java中接口的作用不是太明了。虽说一个类可以implements多个接口,但接口本身只是定义了几个方法,没有任何实际的意义,具体的实现还是要在实现它的类中进行。这样的话,接口还有什么意义呢?
举个例子来说,现有
public interface I
{
method1(){};
}
class A implements I
{
method1()
{
somefunction......
}
}

这样写和不实现接口,直接将method1作为class A的方法有什么区别呢?
即:
class A
{
method1()
{
somefunction......
}
}

能不能具体举个例子来说明它们在使用上的区别呢?

接口是一种规范

软件开发大多是一个协作性的工作:电器和插座分别是不同人完成的,有了接口大家就能分头开干,都按照接口来办事,各自做完就能轻松地整合到一起。各部分的测试也更加方便。

接口在开发过程中可以快速分离工作内容。

比如调用者在写业务逻辑的时候需要一个功能,可能是数据库访问,或者复杂计算,但是他的工作专注于实现业务逻辑,不想分开精力去做底层实现,那么他只需要先实现一个接口,定义了规范,然后就可以继续他的业务逻辑代码了。而实现者可以根据这个接口规范,做具体的实现。

这样通过使用接口就可以快速的分离工作内容,达到团队并行工作的目的。

扩展资料:

功能

在Java语言规范中,一个方法的特征仅包括方法的名字,参数的数目和种类,而不包括方法的返回类型,参数的名字以及所抛出来的异常。在Java编译器检查方法的重载时,会根据这些条件判断两个方法是否是重载方法。

但在Java编译器检查方法的置换时,则会进一步检查两个方法(分处超类型和子类型)的返还类型和抛出的异常是否相同。

接口实现和类继承的规则不同,为了数据的安全,继承时一个类只有一个直接父类,也就是单继承,但是一个类可以实现多个接口,接口弥补了类的不能多继承缺点,继承和接口的双重设计既保持了类的数据安全也变相实现了多继承。

Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所以Java接口比Java抽象类更抽象化。但是接口不是类,不能使用new 运算符实例化一个接口。

参考资料:百度百科-Java接口

温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-10-11
接口的最主要的作用是达到统一访问,就是在创建对象的时候用接口创建,【接口名】 【对象名】=new 【实现接口的类】,这样你像用哪个类的对象就可以new哪个对象了,不需要改原来的代码,就和你的USB接口一样,插什么读什么,就是这个原理。就像你问的,都有个method1的方法,如果我用接口,我上面就可以one.method1();是吧?那样我new a();就是用a的方法,new b()就是用b的方法
这样不方便吗?
这个就叫统一访问,因为你实现这个接口的类的方法名相同,但是实现内容不同
我用接口来定义对象不就可以做到统一访问了吗?接口主要针对多个类实现它来说的,要是只有一个类当然可以不用接口了.你这样想,我做一个USB接口,有个read()抽象方法,然后mp3类实现,U盘类实现,移动硬盘类实现,这样我用的时候用USB a=new 【类名】;这样a.read();要是我类名里写U盘,就读U盘,写mp3就读mp3,而这个名字可以从属性文件里读,你写哪个就用哪个了,呵呵。本回答被提问者采纳
第2个回答  2012-10-04
java接口里定义的方法是public abstract 型的。是抽象的。你要在具体的实类中对它实例化。这个实例化的结果就是接口的作用的体现。比如,两个运动员,在跑和跳的这项能力中,一个短跑和三级跳很厉害。一个长跑和立定跳远很厉害。可如下编程:

定义一个运动的接口(Interface Sport)。里面有跑(void run())和跳(void jump())两个抽象方法。再定义两个类Athlete1和Athlete2。Athlete1中,将“跑”实例化为“短跑”,将“跳”实例化为“三级跳”。Athlete2中,将“跑”实例化为“长跑”,将“跳”实例化为“立定跳远”。将张三创建为类Athlete1的对象,将李四创建为类Athlete2的对象。
第3个回答  2015-06-19

    接口是java中的一大特性和一大支柱性的优点

    接口用来别具体的类实现,会自动继承接口中的抽象方法给这类继承他的类

    接口有点像是复制的意思.只不过是java中是这么写罢了

    现在已经开始"面向接口编程"时代,利用接口来解耦

    接口中的方法一定都会被继承他的类实现`,如果少继承了或者没有继承`会报错

    比如说`你写了10个类,每个类中都需要一些同名且返回值一样的方法,这时候就可以用接口,把这些方法全部写在一个接口中,让这10个类去实现,这样10个类中就有了这些方法`只需要自己具体的去填写方法内部了

第4个回答  2008-10-11
接口是 java 多态的一种形式

interface A { public void print();}

class B 和 class C 都实现了接口 a

class D {
public void d(A a){ a.print();}
//这个方法要求传一个A对象的引用 ,这里只要是实现了接口A的对象都可以做为参数,会调用这个对象所实现的print()方法,有点像继承重载,但是接口更灵活,可以实现多个接口,继承只能继承一个父类.

}
相似回答