Java面向对象->抽象类

什么是抽象方法

  用abstract关键字修饰并且没有方法体的方法  //public abstract void show();

什么是抽象类

  当定义了抽象函数的类也必须被abstract关键字修饰,被abstract关键字修饰的类是抽象类。

抽象类的特点

  1、抽象类和抽象方法都需要被abstract修饰。抽象方法一定要定义在抽象类中。

  2、抽象类不可以直接创建对象,原因:调用抽象方法没有意义。

  3、只有覆盖了抽象类中所有的抽象方法后,其子类才可以创建对象。否则该子类还是一个抽象类。

  之所以继承抽象类,更多的是在思想,是面对共性类型操作会更简单。

抽象类的一些细节问题

  1、抽象类一定是个父类?

                  是的,因为不断抽取而来的。

  2、抽象类中是否可以不定义抽象方法。

    是可以的,那这个抽象类的存在到底有什么意义呢?不让该类创建对象,方法可以直接让子类去使用

  3、抽象关键字abstract不可以和哪些关键字共存?    

    1、private:私有的方法子类是无法继承到的,也不存在覆盖,而abstract和private一起使用修饰方法,abstract既要子类去实现这个方法,而private修饰子类根本无法得到父类这个方法。互相矛盾。

    2、final,final的意思是最终的,也就是不能被继承,相互矛盾。

    3、static,被static修饰的方法,该方法属于类,而抽象方法本身没有实现,就是用来给子类继承,存在内存中的位置也不是一样的。用static修饰就不能被子类继承了。同样 你可以这么理解。

猜你喜欢

转载自www.cnblogs.com/miaoxingren/p/9358090.html