4.3 抽象类(P97-99)

抽象方法、抽象类

在Java中,abstract关键词用于修饰抽象方法抽象类

小结

1.抽象方法是只有方法声明没有方法体的特殊方法。

2.抽象类是包含1个或多个抽象方法的类,也可以一个都不包含。

3.抽象方法必须存在于抽象类中。从语法上看,抽象方法不在抽象类中实现,而是在派生的子类中实现。

4.如果子类没有实现所有继承而来的抽象方法,则该子类也必须是抽象的(由第3点和继承可推出) 。值得注意的是,若在父类中用private修饰抽象方法,则子类就只能是抽象类。

5.抽象类不能创建实例对象(可以反过来利用这一点),即:不能通过new来调用构造函数。

但却可以声明抽象类对象(对象引用),用来指向子类对象,为后面“接口的使用与多态”建立起基础。

然而在继承体系中,若父类为抽象类,子类在创建实例对象时,仍会最先调用到父类的默认构造函数,令系统分配存储空间,以防子类对象调用父类方法及变量时产生错误。
(系统会自动补充super()调用父类的默认构造函数。父类若有重载构造函数,则需显式定义默认构造函数即’无参构造’)

抽象类的意义

1.抽象→具体:
在同类对象所对应的类体系中,抽象类往往在类继承体系的顶层,这使得类的设计变得清晰。

2.父类“声名”,子类“实现”:
定义了抽象类后,就可以使用Java的多态机制,为类的体系提供通用的接口,即:(父类)一个方法,(子类)多种实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

几绪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值