抽象java

abstract 修饰类或者方法,不能用来修饰属性,构造器,不能与private,final,static同用

修饰类:抽象类,不可被实例化,  抽象类是成员变量,成员方法,抽象方法,构造器的集合。

             抽象类有构造器(凡是类都有构造器,接口没有构造器),天生被继承,

             抽象方法所在的类必须是抽象类,但是抽象类可以没有抽象方法。         

修饰方法:抽象方法,没有方法体,具体的执行交给子类的重写

                 若子类继承抽象类,但是没有重写所有的抽象方法,则此类必须也声明为抽象的;

                  若子类继承抽象类,且重写了所有的抽象方法,那么该子类是可以实例化的。

模板方法设计模式:

抽象类作为多个子类的通用模板,子类在抽象类的基础上扩展,改造,但子类总的会保留抽象类的行为模式。

内部功能中确定的部分,在抽象类中实现,不确定的部分则交给子类去实现

接口: 特殊的抽象类,是抽象方法和常量的集合,即接口中没有非抽象方法,所有的成员变量都默认是

           public static final ,所有的方法也默认是 public abstract.因为接口没有构造器,只有通过接口调

            用其属性,所有都是static 的.        

实现接口的类,必须重写所有的抽象方法,才可以实例化,否则该类仍然是抽象类。

   接口与接口之间是多继承,类与类之间单继承,类与接口之间多实现。



   

猜你喜欢

转载自blog.csdn.net/sue12347/article/details/80248888