我想知道:设计接口的初衷是什么?
使用接口有哪些好处?
接口存在的意义何在?
书上的解释不够详细,谁能给我一通俗详细的解释吗??
谢谢!!大侠们
使用接口有哪些好处?
接口存在的意义何在?
书上的解释不够详细,谁能给我一通俗详细的解释吗??
谢谢!!大侠们
解决方案 »
- 什么方式能同步文件?
- 求s=a+aa+aaa+aaaa+aa...a的值,
- 求解ssh框架关于首页index.jsp显示的处理
- [applet] Jtable在JScrollPane中不显示滚动条
- 急求!安装Oracle时总是出现错误信息,各位大佬帮下忙
- Java里面double数据+double数据的奇怪现象,求解释
- JAVA基础:Java变量类型间的相互转换
- 如何将.class变成.exe文件
- 20天Java学习曲线高手请指点
- 手机保险箱里的图片怎么在电脑上打开
- 【java】 多重修饰符修饰某个类/方法/域
- JDK1.5以前的JDK版本里有什么方法可以利用给定的父类的实例对象和子类的类名将父类强制转换为子类实例啊(反射方面的)?
一个众所周知的理由就是为了实现多重继承,这是C++里面的一个概念。由于每个类都有一个具体实现,多重继承会使你背上很沉重的包袱,也正是这个原因,java拒绝类的多重继承。然而这个概念其实是必要的,生活中也经常会出现x既是A又是B的现象,所以java利用接口来实现这种情况,因为接口没有任何具体实现,所以就没有任何与接口相关的存储,这里就避免了C++里出现的负担太重的问题。这个理由也可以描述为:为了能够使一个对象向上转型为多个基类型。
还有第二个理由,这与抽象类是一致的,就是防止客户端程序员创建该类的对象。正因如此,我们就要明确一下,什么时候该用接口,什么时候该用抽象类。可以说接口既有接口的好处,又有抽象类的好处,那么如果我们要创建不带任何方法定义和成员变量(ps:接口可以定义数据成员,但默认是static final类型的,即他是一个常量)的基类,那就选择接口。事实上,当我们在创建基类的时候,首先应该想到是否可以让他是一个接口,只有在你必须要有方法定义或成员变量这样的限制的时候,才应该选择抽象类,或者更进一步,使其成为一个具体类。