抽象类和抽象方法以及注意事项

抽象类

概述

父类当中的方法,被他们的子类重写,子类各自实现不同的功能,那么父类的方法声明和方法体,只有声明还有意义,方法体没有任何意义,所以可以省略方法体内容,然后把方法定义成abstract修饰的抽象方法,但是抽象方法必须存在于抽象类中,所以存在抽象方法的类也必须用abstract修饰.

抽象方法:没有方法体的方法
抽象类:包含抽象方法的类

abstract关键字的使用格式

抽象方法

使用abstract关键字修饰的成员方法,该方法就成了抽象方法,抽象方法没有方法体

注意事项:

1.抽象类可以有抽象方法,抽象方法只需申明,无需实现
2.含有抽象方法的类必须申明为抽象类
3.抽象的子类必须实现抽象类中所有抽象方法,否则这个子类也是抽象类
4.抽象方法不能被声明为静态
5.抽象方法不能用private修饰
6.抽象方法不能用final修饰

定义格式:
  •   修饰符 abstract void 方法名(参数列表);
    
示例代码:
  •   public abstract void run();
      public abstract void eat();
      public abstract void jemp();
    

抽象类

如果一个类包含了抽象方法,那么该类就是一个抽象类

定义格式:
  •   修饰符 abstract class ClassName{}
    
示例代码:
  •   public abstract classAnimal{
     //奔跑的抽象方法
     public abstract void run();
     }
    

抽象的使用

继承抽象类的子类必须重写父类的所有的抽象方法,否则,也必须定义成抽象类

注意事项

关于抽象类的使用,需要注意的事项:

1.抽象类不能创建对象,如果创建对象,编译无法通过.只能创建其非抽象子类的对象
2.抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的
3.抽象类中,不一定包含抽象方法,但是抽象方法的类必定是抽象类
4.抽象类的子类,必须重写父类的所有抽象方法,否则编译无法通过,除非该子类也是抽象类

posted @ 2020-11-24 22:18  任苗苗  阅读(591)  评论(0)    收藏  举报