第五章 抽象类与接口

定义:

一般情况下,类是用来实例化对象的。但在某些情况下,定义一些从未实例化对象的类是有意义的。这样的类就是抽象类。
用关键字abstract修饰的类称为abstract类(抽象类)。
例如:abstract class A {
… …
}

特点:

  1. 对于抽象类,不能直接实例化对象,即不能使用new运算符创建该类的对象,只能先创建其子类,由子类创建对象
  2. 抽象类可以声明对象,作为子类对象的 上转型对象
  3. 和普通的类相比,抽象类里可以有抽象方法。也可以没有抽象方法。
  4. 对于abstract方法,只允许声明,不允许实现,也就是只定义相应的方法头,而没有体内容
    例如:abstract double getArea( );
  5. 抽象方法不允许使用static、final修饰。
  6. 抽象类里面可以有抽象方法,也可以没有没有抽象方法,但含有抽象方法的类一定是抽象类。
  7. 抽象超类的所有具体子类都必须为超类的抽象方法提供具体实现,即实现抽象超类的所有抽象方法。在这儿说的具体子类就是不是抽象类的一般类。
  8. 抽象类的子类也可以是抽象类,子类是抽象类时不必实现抽象超类的所有抽象方法。
发布了188 篇原创文章 · 获赞 17 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_44091178/article/details/105278503