本帖最后由 t_mac 于 2011-12-13 15:18 编辑
抽象是java的特性之一,也是处理对象复杂性的一种技术!它是指只关注对象的重要细节,忽略次要细节!
在抽象类中定义的抽象方法,是由子类去实现,而不是去覆盖,因为在父类中没有具体的实现!
这个抽象的方法可能是一个名字,但是在不同的子类中的用法可能有小的差异,这样就在抽象类中定义一个抽象的方法算是对这个方法的一个概括,不同子类中实现的改抽象方法会有小的差异,但大体作用上相同.你这里的 study()方法就是的,因为不同的Studnet的study的方式不同,父类就不能写死了,也就是说没有实现的必要,这样就交给子类各自实现,并告诉子类如果该子类不是抽象类,你就必须实现我的抽象方法。
简而言之,定义抽象类是为了更好的提高程序的扩展性和复用性。
|