日期:2014-05-17  浏览次数:20683 次

抽象类与普通类有什么不同?
抽象类能extends,普通类也能extend

无论是抽象还是普通类,子类都能继承父类所有的代码,那么,我是否能认为,抽象类与普通类的区别,是象征性意义大于实际意义?

THANKS

------解决方案--------------------

我也这样觉得。
在使用上的区别就不说了。
我也觉得其概念性意义大于实际意义。
------解决方案--------------------
抽象类不能实例化
抽象类里可以加入一些类的共性 让子类去继承
比如 我们写个 动物类为抽象类把一些动物的共性写在这个类去
让子类去实现
------解决方案--------------------
不是,抽象类有其特殊的作用。类似于接口。在一些设计模式中,能起到很大的作用。
------解决方案--------------------
Java专门提供了一种机制,名为“抽象方法”。它属于一种不完整的方法,只含有一个声明,没有方法主体。下面是抽象方法声明时采用的语法:
abstract void X();
包含了抽象方法的一个类叫作“抽象类”。如果一个类里包含了一个或多个抽象方法,类就必须指定成abstract(抽象).而普通类的方法必须是一个完整的方法,即有声明也有方法主体。重要的是通过通用接口处理一系列类,就需要创建一个抽象类,因为基础类内的方法都肯定是“伪”方法。若去调用这些方法,就会出现错误。
------解决方案--------------------
探讨
引用:

我认为之所以有抽象类、接口这种东西,也是从概念上起源的。也就是楼主所谓之象征意义。