java 中 接口的作用

来源:互联网 发布:手机淘宝安装包下载 编辑:程序博客网 时间:2024/05/16 18:58
java接口作用是什么?

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

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

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

满意回答

接口的最主要的作用是达到统一访问,就是在创建对象的时候用接口创建,【接口名】 【对象名】=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,而这个名字可以从属性文件里读,你写哪个就用哪个了,呵呵。


与abstract 类的比较:

问题:

请问这样做接口和最顶层的抽象父类不就基本一样了吗?就像一个类A定义成abstract之后再定义几个abstratct的方法,其子类中就会有相应的实现,【abstract类名】【对象名】=new 【子类】,后面的全部都可以用你上面所说的那样做,那最后接口似乎意义也不会太大了啊。

回答:

java单继承的概念要记住,接口的存在给java提供了实现多继承的可能,一个类只能继承至一个父类,但是可以实现多个接口。 几个差别 1:代码构成 接口由全局常量和抽象方法构成,抽象类跟普通类的区别就是抽象类中有抽象方法。 2:作用 抽象类由于不能直接实例化对象,所以只能被继承,起到的作用的就是将子类共性的问题提取出来实现,个性的问题子类实现;接口就是用于外部函数调用,起到一个封装的作用,我不希望外部看到我的具体实现,我只给他提供调用的方法名称。3:接口是用于实现的,在实现类中必须实现接口中的全部抽象方法,抽象类是用于继承的,不必讲所以的抽象函数实现,就像一个子类继承一个父类操作。

原创粉丝点击