飙血推荐
  • HTML教程
  • MySQL教程
  • JavaScript基础教程
  • php入门教程
  • JavaScript正则表达式运用
  • Excel函数教程
  • UEditor使用文档
  • AngularJS教程
  • ThinkPHP5.0教程

java中abstract关键字(抽象类)

时间:2022-02-22  作者:ityc  

需求

  • 当父类某个方法,需要声明,但是又不确定如何实现时,可以用抽象方法,那么这个类就是抽象类
  • 例如:父类是一个动物类,父类里面有很多方法,其中有一个方法是吃食物,但是不知道吃什么,需要子类继承的时候重写该方法,去设置动物到底吃什么食物

细节

  • 当类用abstract关键字声明时,就是一个抽象类
  • 当一个类中存在抽象方法时,需要该类声明为abstract类
  • 抽象方法不能有方法体。例如:public abstract void eat();
  • 抽象类不能被实例化,不能 new 抽象类
  • 抽象类不一定要含abstract方法,可以没有抽象方法
  • 但是当方法是抽象方法时,类也必须是抽象类
  • abstract只能修饰方法和类,不能修饰属性以及其他
  • 如果一个类继承抽象类,则必须实现抽象类的所有抽象方法,如果子类也是抽象类,可以不实现父类的所有抽象方法
  • 抽象方法不能使用private、 final和static来修饰, 因为这些关键宇都是和重写相违背的。

练习

  • abstract final class A{ } 能编译通过吗?    错误,final是不能继承
  • abstract public static void test2(); 能编译通过吗?  错误,static和 方法重写无关
  • abstract private void test3();能编译通过吗 ? 错误  private 的方法不能重写

标签:编程
湘ICP备14001474号-3  投诉建议:234161800@qq.com   部分内容来源于网络,如有侵权,请联系删除。