抽象类

抽象类

当父类的某些方法,需要声明,但是又不确定如何实现时(即父类方法的不确定性),可以将其声明为抽方法,那么这个类就是抽象类。

一、抽象类快速入门

当父类的一些方法不能确定时,可以用 abstract 关键字来修饰该方法,这个方法就是抽象方法,用abstract来修饰该类就是抽象类。

abstract class animal{
    String name;
    int age;
    abstract public void cry();
}
  • 抽象类的介绍:

    1. 用abstract 关键字来修饰一个类时,这个类就叫做抽象类;

      访问修饰符 abstract 类名{

      }

    2. 用abstract 关键字来修饰一个方法时,这个方法就是抽象方法;

      访问修饰符 abstract 返回类型 方法名(参数列表); //没有方法体

    3. 抽象类的价值更多作用是在于设计,是设计者设计好后,让子类继承并实现;

      抽象类()

    4. 抽象类,是考官比较爱问的知识点,在框架和设计模式使用较多;

二、抽象类使用的注意事项和细节讨论

  1. 抽象类不能被实例化,[解释抽象类为什么不能实例化对象](凉白茶 - 博客园 (cnblogs.com))。

  2. 抽象类不一定要包含abstract方法,也就是说抽象类可以没有abstract方法,但也可以有实现的非abstract方法。

  3. 一旦类包含了abstract方法,则这个类必须声明为abstract。

  4. abstract 只能修饰类和方法,不能修饰属性和其他的。

  5. 抽象类可以有任意成员【抽象类本质还是类】,比如非抽象方法、构造器、静态属性等等

  6. 抽象方法不能有主体,即不能实现,如图所示

    6

  7. 如果一个类继承了抽象类,则它必须实现抽象类的所有抽象方法,除非他自己页声明为abstract类。

  8. 抽象方法不能使用private、final 和 static 来修饰,因为这些关键字都是和重写相违背的。

posted @ 2022-12-14 14:43  凉白茶  阅读(114)  评论(0编辑  收藏  举报