作用:

在面向对象的概念中,所有的对象都是通过类来描述的,但并不是说所有的类都是用

来描述对象的。当一个类中没有包含足够的信息以描绘一个具体的对象时,这样的类就是抽象类。

定义抽象类的意义在于:

  1. 为其子类提供一个公共的类型(父类引用指向子类对象)

  2. 封装子类中的重复内容(成员变量和方法)

  3. 将父类设计成抽象类后,既可借由父子继承关系限制子类的设计随意性,在一定程度上避免了无意义父类的实例化。

语法:

java温习*(14):关于抽象类应用总结

特点:

  1. 抽象类不允许直接实例化,换句话说抽象类不能创建对象,它只能作为其他类的父类。 但可以通过向上转型,指向子类实例。(如图1,2)

java温习*(14):关于抽象类应用总结(图1)java温习*(14):关于抽象类应用总结(图2 )

  1. 当类中存在抽象方法,则必须声明为抽象类(如图3,4);但是抽象类中可以没有抽象方法(如上面图1)。

java温习*(14):关于抽象类应用总结(图3)java温习*(14):关于抽象类应用总结(图4)

3、一个类继承抽象类后,必须实现其所有抽象方法,否则也是抽象类(如上图3,下图5,6);不同的子类对父类的抽象方法可以有不同的实现。

java温习*(14):关于抽象类应用总结(图5)

java温习*(14):关于抽象类应用总结(图6)

4、abstract 方法不能用 static 和 private 修饰;对于类,不能同时用 final 和 abstract 修饰。因为 final 关键字使得类不可继承,而 abstract 修饰的类如果不可以继承将没有任何意义。两者放在一起,也会引发编译异常。(如图7,8,9)

java温习*(14):关于抽象类应用总结(图7)java温习*(14):关于抽象类应用总结(图8)java温习*(14):关于抽象类应用总结​(图9)

相关文章:

  • 2021-09-30
  • 2021-04-25
  • 2021-11-10
  • 2022-02-17
  • 2021-11-11
  • 2021-09-16
  • 2021-07-01
  • 2021-07-01
猜你喜欢
  • 2021-12-16
  • 2022-12-23
  • 2022-01-23
  • 2021-06-30
  • 2021-08-22
  • 2022-02-21
  • 2022-01-03
相关资源
相似解决方案