abstract关键字

关于abstract关键字

      一、abstrack关键字用于修饰方法或者类;

      二、抽象方法

            1、由abstrack修饰的方法,只有方法定义,没有方法体;

            2、包含抽象方法的类必须是抽象类,不含抽象方法的类也可以是抽象类;

    三、抽象类

           1、抽象类不能被实例化;

           2、抽象类需要被继承。因为抽象类中的抽象方法是没有方法体的,所以派生类继承抽象类以后通常要重写抽象方法。如果不重写抽象方法,那么相当于派生类也含有抽象方法,那么派生类也必须声明为抽象类。

           3、抽象类的意义:

                  1)、封装了派生类的共同属性和行为,能够代码复用;

                  2)、为派生类提供了一个共同的类型,向上造型;

                  3)、可以包含抽象方法,为所有的派生类提供统一的入口,派生类的具体方法不同,但是入口相同。

    设计原则:

             如果是派生类共有的行为和属性抽到超类中(抽取共性);

             如果行为一样则设计为普通方法,如果行为不同则设计为抽象方法;

             若是部分派生类共有,设计为接口,接口是对继承单一性的扩展,实际上实现多继承。

     

你可能感兴趣的:(java基础,抽象类)