java中的接口的作用是什么啊
网上那帮人说是为了规范标准动物叫来举例子说接口就是规定让动物叫至于是猫叫还是狗叫自己在类里具体实现,我就想了如果真是这样开发java语言的人也是脑子进水了我不要这规范岂不...
网上那帮人说是为了规范标准 动物叫来举例子 说接口就是规定让动物叫 至于是猫叫还是狗叫 自己在类里具体实现,我就想了如果真是这样 开发java语言的人也是脑子进水了 我不要这规范岂不是更好,反正都得方法重写 少写个接口声明少打几个单词 照样方法重写 这接口也真是画蛇添足了 我个人认为既然它存在 就是为了把麻烦的东西简单化 书上说是为让java“实现”多继承(我个人比较认同的一个作用) 但具体还不是太了解
我想问接口解决了哪些问题 不用接口又会怎样 展开
我想问接口解决了哪些问题 不用接口又会怎样 展开
展开全部
我举个我常遇见的小例子方便你理解。
我们做java开发,通常用到数据库。数据库有oracle,DB2等等。不同的数据库操作上有些差别。
而我们做一个项目,卖给别人的是.class文件,也就是说,不能修改源码了。
如果客户需求说,可能要换数据库,你该怎么办?功能一样,但数据库这些东西不一样,这不一样的东西通常的做法是把这个接口做多种不同的实现。那样我们做逻辑时,就可以用接口声明对象,至于这个对象指向操作哪个数据库的实现类,我们程序开发的不虚多管,事后一个配置文件就解决了。(这个以后你深入学习Spring,了解依赖注入的机制后就明白了。)
至于说重写,诚然,某种程度相对于接口好用,好用的地方我就不说了。我跟你说说项目开发的事。通常,大项目不是一个人完成的,而是分模块,每个人完成不同模块,而不同模块的功能有交互的地方。这个时候我们就需要接口来定义规范,开发者按照定义好的规范进行编程,到时候,项目组其他成员与你模块进行交互的时候只需要用接口声明实例,调用接口的方法(反正他/她知道,这个方法是能进行那样操作的,至于你怎么实现,完全不需理会。)。
我们做java开发,通常用到数据库。数据库有oracle,DB2等等。不同的数据库操作上有些差别。
而我们做一个项目,卖给别人的是.class文件,也就是说,不能修改源码了。
如果客户需求说,可能要换数据库,你该怎么办?功能一样,但数据库这些东西不一样,这不一样的东西通常的做法是把这个接口做多种不同的实现。那样我们做逻辑时,就可以用接口声明对象,至于这个对象指向操作哪个数据库的实现类,我们程序开发的不虚多管,事后一个配置文件就解决了。(这个以后你深入学习Spring,了解依赖注入的机制后就明白了。)
至于说重写,诚然,某种程度相对于接口好用,好用的地方我就不说了。我跟你说说项目开发的事。通常,大项目不是一个人完成的,而是分模块,每个人完成不同模块,而不同模块的功能有交互的地方。这个时候我们就需要接口来定义规范,开发者按照定义好的规范进行编程,到时候,项目组其他成员与你模块进行交互的时候只需要用接口声明实例,调用接口的方法(反正他/她知道,这个方法是能进行那样操作的,至于你怎么实现,完全不需理会。)。
2015-02-07 · 知道合伙人软件行家
关注
展开全部
那里因为你还不懂开发,接口的作用大了去了
接口可以用来做事件回调
接口可以用来定义一个模形
例如JDK里我们常用的List集合,Map集合,都是接口
通常我们会用List<Object> list = new ArrayList<Object>(); 这种方式去声明
List只是一接口,它只是定义了一些模型,例如获得某个元素,List.get(index); 等等
那么它的实现类有ArrayList 这是以数组的形式去实现
Vector 这也是以数组的形式去实现,但是它是同步的
还有一个LinkedList 这是以双向链表的形式去实现
还有很多的子类
每种都有自己的特点,而程序中会以不同的业务去使用,但是我们在方法中只需要定义一个List就行了
根据不同的业务逻辑,用不同的子类
接口可以用来做事件回调
接口可以用来定义一个模形
例如JDK里我们常用的List集合,Map集合,都是接口
通常我们会用List<Object> list = new ArrayList<Object>(); 这种方式去声明
List只是一接口,它只是定义了一些模型,例如获得某个元素,List.get(index); 等等
那么它的实现类有ArrayList 这是以数组的形式去实现
Vector 这也是以数组的形式去实现,但是它是同步的
还有一个LinkedList 这是以双向链表的形式去实现
还有很多的子类
每种都有自己的特点,而程序中会以不同的业务去使用,但是我们在方法中只需要定义一个List就行了
根据不同的业务逻辑,用不同的子类
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
简单给你举个例子,插件。
用接口A规定一个方法public String B(String a)
然后把接口类交给其他人,(不用暴露自己程序代码),自己程序,事先写好,加载外部插件类(这个类其他人写的,实现了接口A),然后调用这个类的B方法(因为实现了接口A,所以B方法必定存在)
吧程序的信息通过参数给传给它,然后保存它返回的结果。【具体插件做了什么,不是我考虑,我只需要获得结果】
这样简单的完成了程序的扩展。
用接口A规定一个方法public String B(String a)
然后把接口类交给其他人,(不用暴露自己程序代码),自己程序,事先写好,加载外部插件类(这个类其他人写的,实现了接口A),然后调用这个类的B方法(因为实现了接口A,所以B方法必定存在)
吧程序的信息通过参数给传给它,然后保存它返回的结果。【具体插件做了什么,不是我考虑,我只需要获得结果】
这样简单的完成了程序的扩展。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Java中接口的作用:
1)利于代码的规范
这样做的目的一方面是为了给开发人员一个清晰的指示,告诉他们哪些业务需要实现;同时也能防止由于开发人员随意命名而导致的命名不清晰和代码混乱,影响开发效率。
2)有利于对代码进行维护
可以一开始定义一个接口,把功能菜单放在接口里,然后定义类时实现这个接口,以后要换的话只不过是引用另一个类而已,这样就达到维护、拓展的方便性。
3)保证代码的安全和严密
一个好的程序一定符合高内聚低耦合的特征,能够让系统的功能较好地实现,而不涉及任何具体的实现细节。这样就比较安全、严密一些,这一思想一般在软件开发中较为常见。
1)利于代码的规范
这样做的目的一方面是为了给开发人员一个清晰的指示,告诉他们哪些业务需要实现;同时也能防止由于开发人员随意命名而导致的命名不清晰和代码混乱,影响开发效率。
2)有利于对代码进行维护
可以一开始定义一个接口,把功能菜单放在接口里,然后定义类时实现这个接口,以后要换的话只不过是引用另一个类而已,这样就达到维护、拓展的方便性。
3)保证代码的安全和严密
一个好的程序一定符合高内聚低耦合的特征,能够让系统的功能较好地实现,而不涉及任何具体的实现细节。这样就比较安全、严密一些,这一思想一般在软件开发中较为常见。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询