帮忙解释下 什么情况下能够使用 

解决方案 »

  1.   

    抽象来用来定义一组抽象的概念, 比如: 动物 我们可以想象有 "吃" 这个行为. 你可以定义一个抽象类叫动物 它有一个方法叫 '吃', 但这个吃只是一个抽象的概念,并没有实质的东西,就是没有说明宣究竟如何吃,所在我们应该为动物定义一个抽象的吃的方法(方法内部没有任何代码)?  当我们具体到某一种动物时,我们就可以给出具体的行为, 现在我们要定义一个类 "狗" 狗 extends 动物, 这时你需要为狗的"吃" 方法定义具体的行为,说明究竟如何吃, 这时你必需要为吃这个方法加上代码.
      

  2.   

    有时你仅关注一个类的方法,而不想使用者用此类生成对象。
    那么把方法定义成static ,类定义成abstract class
      

  3.   


    那如果不抽象出动物类,直接定义狗类,直接给出狗“吃”的方法,这和extends动物类的“吃”方法有什么区别,又有什么好处呢??
      

  4.   

    说白了,java引入抽象就是为了扩大java代码的重用性.通过继承来实现.