Java 抽象类详解_abstract

本文介绍了Java中抽象类和抽象方法的概念与用法,包括为何及如何使用抽象,以及抽象类与抽象方法的语法特点。并通过实例展示了它们在多态、封装等面向对象特性中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1.为什么使用抽象?
(1) 类用于描述现实生活中一类事物,类中有属性有方法,并且方法都有方法体。
    某种情况下,父类只知道子类应该具备一个怎样的方法,但是不能明确知道子类如何实现该方法。
    例如:几何图形(多态练习),所有的几何图形都应该具备一个计算面积的方法,但是不同几何图形,计算面积的方式不同。
(2) Java为上述问题提供了相应的解决办法
     Java允许父类中只是提供一个方法的声明,但是不提供具体的实现, 而具体的实现交给子类来完成,该方法被称为“抽象方法”; 拥有一个或多个抽象方法的类,被称为“抽象类”。

2.如何使用抽象:abstract
(1) abstract 修饰的类称为“抽象类”
    ① 格式:访问控制修饰符  abstract class 类名{}
    ② 拥有一个或多个抽象方法的类必须是抽象类
    ③ 抽象类中可以有非抽象方法
    ④ 抽象类中可以没有抽象方法
    ⑤ 抽象类不能创建实例
    ⑥ 抽象类中可以声明构造器。目的:当子类继承父类后,继承父类中所有的属性和方法,因此子类需要知道父类如何为对象进行初始化
(2) abstract 修饰的方法称为“抽象方法”
    ① 格式: 访问控制修饰符  abstract  返回值类型  方法名(参数列表);
    ② 当子类继承父类后,若重写了父类中“所有”的抽象方法,该类为具体类,可以创建实例。
    ③ 当子类继承父类后,若没有重写父类中“所有”的抽象方法,该类必须为抽象类,不能创建实例。
(3) 注意
    ① abstract 和  static 不能同时使用
    ② abstract 和 final 不能同时使用
    ③ abstract 和 private  不能同时使用

3.实例:点击获取源码
    该实例是 对象、继承、封装、多态、抽象类的组合应用 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员学习圈

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

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

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

打赏作者

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

抵扣说明:

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

余额充值