java中抽象类和接口存在的意义是什么
有一个例子:车-宝马车-一辆红色的宝马车。具这个例子的人他讲的是“车”是接口,“宝马车”是具体类,“一辆红色的宝马车”是一个具体的对象。还有个例子:形状-三角形-圆形。而...
有一个例子:车 - 宝马车 - 一辆红色的宝马车。
具这个例子的人他讲的是“车”是接口,“宝马车”是具体类,“一辆红色的宝马车”是一个具体的对象。
还有个例子:形状 - 三角形 - 圆形。
而这个例子说的是“形状”是个抽象类,“三角形”和“圆形”是个具体类。
我可不可以说“车”是“宝马车”的父类,“形状”是“三角形”和“圆形”的父类呢 展开
具这个例子的人他讲的是“车”是接口,“宝马车”是具体类,“一辆红色的宝马车”是一个具体的对象。
还有个例子:形状 - 三角形 - 圆形。
而这个例子说的是“形状”是个抽象类,“三角形”和“圆形”是个具体类。
我可不可以说“车”是“宝马车”的父类,“形状”是“三角形”和“圆形”的父类呢 展开
8个回答
展开全部
为什么有了抽象类之后还要设置一个接口呢?
这是因为在JAVA中只允许单继承,也就是说,一个类只能继承自一个父类。这样虽然有安全上的考虑,可是问题出来了,现实世界中有很多东西并不是用简单的单继承就可以解决的,比如,我们继承了父亲的基因,但是也继承了母亲的基因。如果在JAVA中只有抽象类,这种情况是无法解决的。所以JAVA提出了这个借口的概念。
那问题又来了,为什么JAVA不直接用接口算了,不要用抽象类了。
这就要从抽象类和借口的区别说起。
所谓抽象类是用来表征我们在对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象;所谓接口,相当于电源插座,可插入构件相当于电器。可插入构件的关键在于存在一个公用的接口,以及每个构件都实现了这个接口。接口是实现构件的可插入性的关键。
所以,虽然它们看起来类似,但是实质还是有所区别的。
关于抽象类和借口的区别,这个链接里面说的很清楚了,
http://blog.csdn.net/hhbblog/archive/2006/12/06/1432187.aspx
这是因为在JAVA中只允许单继承,也就是说,一个类只能继承自一个父类。这样虽然有安全上的考虑,可是问题出来了,现实世界中有很多东西并不是用简单的单继承就可以解决的,比如,我们继承了父亲的基因,但是也继承了母亲的基因。如果在JAVA中只有抽象类,这种情况是无法解决的。所以JAVA提出了这个借口的概念。
那问题又来了,为什么JAVA不直接用接口算了,不要用抽象类了。
这就要从抽象类和借口的区别说起。
所谓抽象类是用来表征我们在对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象;所谓接口,相当于电源插座,可插入构件相当于电器。可插入构件的关键在于存在一个公用的接口,以及每个构件都实现了这个接口。接口是实现构件的可插入性的关键。
所以,虽然它们看起来类似,但是实质还是有所区别的。
关于抽象类和借口的区别,这个链接里面说的很清楚了,
http://blog.csdn.net/hhbblog/archive/2006/12/06/1432187.aspx
参考资料: http://blog.csdn.net/hhbblog/archive/2006/12/06/1432187.aspx
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼主你那样说是没有错的!
抽象类和接口的存在的主要原因是为了方便程序开发人员的!
这我想 主要还是给JAVA的继承有关的,因为java是单继承,不想C++,也就说,你的一个类只能extends一个类,也就说只能有一个父类,但有时候为了需要,例如在thread中经常这样的,你必须要继承另外一个类,可是你已经extends了,那怎么办啊?这时候java于是就出现了接口(interface)。这是接口存在的道理,你在以后学习中会慢慢发现的
另外:接口和抽象类是不同的,具体什么不同,楼主自己好好看书,去看他们的方法有什么不同?
抽象类和接口的存在的主要原因是为了方便程序开发人员的!
这我想 主要还是给JAVA的继承有关的,因为java是单继承,不想C++,也就说,你的一个类只能extends一个类,也就说只能有一个父类,但有时候为了需要,例如在thread中经常这样的,你必须要继承另外一个类,可是你已经extends了,那怎么办啊?这时候java于是就出现了接口(interface)。这是接口存在的道理,你在以后学习中会慢慢发现的
另外:接口和抽象类是不同的,具体什么不同,楼主自己好好看书,去看他们的方法有什么不同?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
大家编的程序可以起的类名和、变量名、方法名都不一样,别人要想调用就很不方便,用抽像类和接口就限定了统一的名称,别人调用起来就方便多了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从设计的层面来设计java中的类
设计师只需要设置抽象类和接口,并且定义好每个方法的作用
然后让其他人员来实现这些方法,就能提高效率,分清工作的层次
设计师只需要设置抽象类和接口,并且定义好每个方法的作用
然后让其他人员来实现这些方法,就能提高效率,分清工作的层次
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询