日期:2014-05-20  浏览次数:20871 次

关于 抽象类的问题
我想问一下为什么需要抽象类?

------解决方案--------------------
代码复用
向上转形
------解决方案--------------------
他也不知道自己的子类要实现什么功能!

就像说.动物类知道自己要吃东西.但他们也不知道自己的子类 "牛类 "是吃草还是吃肉.
干脆这事让他们自己搞定吧.
------解决方案--------------------
抽象类不能实例化
可以向上转型
含有实现代码,可以继承。(区别于接口)
------解决方案--------------------
有的类只需要实现部分方法。
------解决方案--------------------
无规矩不成方圆,我想抽象类就是为它的子类定义规则的,它以子类必须实现某些方法为手段来建立子类所必须的行为模型,正是因为它和接口的存在,才是JAVA不的可扩展性和可维护性得以提高,否则代码将全是死代码。
------解决方案--------------------
抽象类不仅仅是做为一个模板而存在,它更大的意义就是抽象,使我们可以不必关心具体类到底是什么,做到针对接口编程而非实现,这样程序会有更大的灵活性
------解决方案--------------------
有时候编程需要对不确定的子类处理
比如写个方法调用动物吃东西这个方法,具体吃什么各个子类都是不同的
如果直接调用子类的方法,意味着需要为每一个动物的子类写一段代码
更加麻烦的是如果有新的动物的子类要加入的时候,还要更改以前的代码
如果采用抽象类或者接口的方法,已经实现的代码就不需要任何更改,只要增加一个子类实现一下相应的方法就行了,极大提高了代码的可扩展性