为什么要abstract一个类呢?

解决方案 »

  1.   

    说简单点,抽象类可以提高代码的重用性,结构清楚,维护起来也方便
    说复杂点,自己看 http://zhidao.baidu.com/question/79867705.html
      

  2.   

    抽象类(abstract class )
         1.只要有个方法是abstract ,那么该类是abstract 类;
         2.abstract 方法在子类中必须有实现;在abstract 类中的abstract 方法只有声明而不能有方法体;
         3.abstract 方法在子类中被实现时要加上override关键字;
         4.abstract 类方法中非abstract 方法在子类中重写时加上new关键字;接口( interface)
         1.只有方法声明,实现类来实现方法;
         2.成员变量是static和final的;接口和抽象类(abstract class and interface) 不同点:
         1.继承一个抽象类,继承多个接口
         2.类里面只要有一个抽象方法,该类就是抽象类;
         3.抽象类可以是抽象方法和普通方法,接口中的方法都是声明(只有方法名,没有内部实现),必须被继承者全部实现
      

  3.   

    abstract类是抽象类,即不能实例化对象。作用提供其他类的复用性和分类管理。
      

  4.   

    抽象来用来定义一组抽象的概念, 比如: 动物 我们可以想象有 "吃" 这个行为. 你可以定义一个抽象类叫动物 它有一个方法叫 '吃', 但这个吃只是一个抽象的概念,并没有实质的东西,就是没有说明宣究竟如何吃,所在我们应该为动物定义一个抽象的吃的方法(方法内部没有任何代码)?  当我们具体到某一种动物时,我们就可以给出具体的行为, 现在我们要定义一个类 "狗" 狗 extends 动物, 这时你需要为狗的"吃"写个方法 
     应该说扩展性更强,和更体现面向对象! 
    如果还有猫,鸡,鸭,鱼。只要继承了动物类(他们都属于动物) ,那么他肯定都会有“吃”这个方法,只是每个的动物“吃”的实现方式不一样。 虽然也可以像你说的那样,单独定义狗这个类和“吃”的方法,如果还有猫,鸡,鸭,鱼。要扩展起来会很麻烦,特别随着程序的扩大,你自己的思路都会理不清。  现在这样写,只要是动物(继承了动物)就会有“吃”这个方法
      

  5.   

    用abstract修饰的类不能用来实例化,而且继承它就必须实现它的所有抽象方法
    也就是说,抽象类new不出来
      

  6.   

    一个类前面加abstract 就是抽象类 ,该类不能被实例化,
    通常作为父类,继承他的子类必须重写父类中的抽象方法;
    主要起到了规范的作用。
      

  7.   

    abstract 是事物的概念.interface 是事物的功能.