永发信息网

java中类与接口的优缺点?

答案:2  悬赏:80  手机版
解决时间 2021-03-22 20:22
java中类与接口的优缺点?
最佳答案
从来没有看到过这类问题,类与接口没有什么优缺点的说法,它们面向对象程序设计语言中的必要组成部分,这个问题应该是问它们的区别,而不是问什么优缺点。

类是具体实现,接口是抽象定义。也就是说接口是定义所有实现它的类的对外表现形式。而类是接口定义的具体实现。。。同一个接口的实现方式有很多种(很多类来实现它),同一个类也可以实现很多接口

我不是理论大师,也不拿相关定义来忽悠你了,给你举一个简单的例子吧
ArrayList和LinkedList,一个是数组结构的列表,一个是链表结构的列表,它们都实现了List接口。如果在检索方面要求较高,则使用ArrayList,因为它是数组实现的,可以直接根据下标定位到其中的对象在内存中的引用。而如果频繁的插入删除,则应该使用LinkedList,因为它的插入删除仅仅修改内存引用就行了。而它们对外的行为模式差不多(LinkedList还实现了Queue接口,这个就不说了),所以让它们都来实现List接口。实际上程序如果不使用接口,也是完全能跑得通的,但以后代码维护就等着哭吧...

比如说,我现在有一个类型转换器,将String型转换成其他Long、Integer、Date等类型。但我不知道具体要转换成哪一个,只能在程序运行过程中才能知道,那么就可以有一种实现方式,定义Converter接口,具体实现类包括LongConverter、IntegerConverter和DateConverter等。再有一个ConverterFactory,ConverterFactory.getConverter(Class clazz)来返回具体的Converter的实现类,此时程序运行过程中只要传递我要转换成的类的Class对象,就可以取得相应的Converter实现类,比如调用ConverterFactory.getConverter(Date.class);,它的返回表面上是Converter,但实际上就是实现 了Converter接口的DateConverter的转换器。这个时候,你就可以用这个Converter对象来将传入的String转换成Date类型数据了,而不是转换成其他类型的。
全部回答
接口的可扩展性 和 维护的方面比较 接口优于类追问说的详细点,我在面试时人家就问这个问题,我直接被问死了。追答针对一个业务 如果用类与类的继承 那么代码会十分繁琐 而且类与类的关系会很复杂 如果业务有变更 那么需要更改的地方会很多 可扩展性不好
而接口是一种标准,是一种统一,是一种对所有类的需求的描述。所有方法均为抽象的。即:只告诉你做什么,不告诉你如何做 要让它怎么做要根据具体的业务
接口的出现避免了单继承的局限性。接口与接口之间是继承关系,而且接口可以多继承。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
家校通如何开通和取消,苏州家校通如何退出
广州珠江学院福田校区在哪里啊,我有事要去这
起亚k5熄火后喇叭响三下 有时候就不响 什么原
宁国市的地形属于A.高原B.平原C.山地D.丘陵
营盘顶地址在什么地方,想过去办事
复试别墅是什么意思,福利彩票复式什么意思
Core i7还是当年的i7,Core M已经不是当年的C
致命罗密欧高清完整版下载
静止物体在水平面受平衡力吗
化疗后体重下降是正常现象吗
如图,已知∠AOB=∠COD=90°,那么∠AOC与∠B
使用maxon电机,阻力过大导致堵转,但是堵转
咱网是不是传销啊?
杨侑和杨侗谁才是隋朝的最后一位皇帝?
单选题No matter how frightened&
推荐资讯
回力余姚南雷店地址有知道的么?有点事想过去
单选题清政府规定:“一户所领之织机不得逾百
谁能给个索尼HDR-XR500摄像机 使用说明
民事诉讼双方协调被告没有赔偿原告承任什么后
北京巨成福顺商贸有限公司 北京有这么一个公
老被路人看,一瞪他他就不看了,为什么啊?
单选题InNanjing,westayedataverynice
已知ICl与锌和水的反应如下:2ICl+2Zn═ZnI2
和气的近义词
单选题下列气体中是引起酸雨的主要气体是A.CO
单选题据统计,2009年我国汽车产销超过1350万
安缶至遂宁多少公里
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?