小戚园地

Do as I want to do!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

抽象与具体

Posted on 2010-04-06 23:06  YeanJay  阅读(511)  评论(0编辑  收藏  举报

      一群动物在草地上,吃食物。

      动物抽象的,public abstract class Animal{};

      吃这个动作是抽象的,每种动物吃的动作不同,public abstract void eat();

      既然eat()方法是抽象的,也就没有实体了。因为如果有一个eat的方法,那么就不知道到底是代表什么了。所以也就没有意义了。

只有在被Impelements过才能有意义,也就是说,Animal需要被extends过才可以使得 eat方法有效。血腥一点,抽象方法就是一个砍了脑袋

的人,只剩下脑袋,不知道肢体去哪里了。需要别的不同的肢体来配对。需要拿无头尸来配对。

      抽象方法只有在抽象类中才可以出现。也就是说,不能将一个血淋淋的脑袋放在一堆正常的人堆中,那样会吓死正常人的。

不过有些大胆的正常人还是会愿意跑到一堆血淋淋的没有尸体的脑袋中间去,比如法医。也就是说,非抽象方法是可以到抽象类里面去的。

      动物中有牛,马,虎,这些才是具体的。public class cow extends Animal{}

      然后到具体类里面去实现那个抽象的吃方法。