ERHAIMOON_学习日志(day15)
抽象
抽象类
如果类使用abstract关键字修饰,该类就是抽象类。
public abstract class Pet{
}
抽象方法
方法使用abstract关键字修饰,该方法就是抽象方法,抽象方法不允许有方法体。不能有{}。
抽象类和抽象方法的规则
- 抽象类中可以包含普通方法或者抽象方法
- 抽象类中可以定义实例属性或者静态属性
- 如果一个类中包含了抽象方法,那么这个类就必须是抽象类
- 抽象类中不一定要包含抽象方法
- 抽象类不允许实例化(不能new)
为何使用抽象类
抽象类在OOP的思想中,是专门用在继承关系中,抽象类在继承关系中当做父类,让子类继承抽象类。
当子类继承抽象类后,子类也继承了父类中的抽象方法,此时子类有两种处理抽象方法的办法:
- 第一种是将子类定义为抽象类,但是这种办法导致子类不能被实例化。
- 第二种处理方法是子类实现父类的抽象方法,实现抽象方法就是在子类中将抽象方法再定义一遍并且添加方法体。此时子类中就没有抽象方法了,子类就不是抽象类,因此可以实例化子类对象
抽象类中定义抽象方法,让子类继承抽象方法。父类通过抽象方法让子类遵守规范是指子类实现父类的抽象方法
点赞
评论留言