java中继承抽象类和继承普通类有什么区别?

抽象类不能被实例化,只能被继承,这个我知道。
根绝我的理解,继承抽象类能实现的,通过继承普通类也能实现,为什么还要抽象类呢?
最好能有一段代码来解释,谢谢各位

抽象类可以是类的抽象性明确起来。包含的方法是抽象的方法,没有方法的具体实现。这就达到了抽象的目的:产生子类的同时给于子类一些特定的属性和方法.
如:
如果你的程序里面需要用到苹果和梨这2个类..那么你可以分别给出这2个类
但是你会发现这2个类里面有共同的属性和方法(属性: 都有核.. 方法: 都需要削皮吃...)那么你可以建立抽象类 "水果" 把这些共同的东西都定义在那里. 那么你的2个子类就只需要实其他必要的东东了(味道, 价格...)
优点: 当你需要对苹果和梨做新的,共同的修改或者添加的时候. 你现在就可以直接对他们的超类 水果 做就可以了.
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-14
抽象类
如果被继承那么子类必须实现方法,
子类不实现那么子类也必须是抽象类。。

普通类
继承就是实现几个类公共的部分提取,
减少代码。

代码就不用了,这个只是一个理解问题,
代码写多自然就知道 了。。。
第2个回答  2010-08-14
抽象类的作用我就不用代码给你演示了。具体的跟你谈谈它的一些好处你就能明白了。
比如我们在写代码时候规定了哪些方法(并且继承这个抽象类的实体类必须实现这个方法)是干什么的,我们会固定一个名称比如获得表数据的方法叫getTableData,那么我们是把这个方法写死,还是让大家根据不同的需求去写呢?这是规范。并且还留有余地,便于后期维护与二次开发。
其次可能有很多子类所需要的方法是同一个,我们也可在抽象类中定义好。这是方便。比如重写toString方法,这是接口所不能达到的。
再者,你要明白抽象的含义,它的含义其实很清楚了,就像是画画,我只是画个轮廓,让你根据实际需要将画能画的更具体,如果画了一张成型的画之后觉得不满意,我还可以根据之前的轮廓再画一张,这样是不是更简单点呢?
相似回答