【Java基础】-abstract关键字

Java中的“抽象”的概念:

在继承的关系中,往往存在这样一类现象,父类所提供的一些方法只是用来提供给子类进行重写的,这种方法往往是“哑”的,它们本来可以不用在基类中定义逻辑,他们的目的就是为基类的所有导出类创建一个通用的“接口”。

建立这种“接口”的唯一理由就是不同的子类可以用不同的方式表示此接口,定义一种基本的形式,表示导出类的公共部分。

抽象方法与抽象类:

我们称这样的方法为“抽象方法”,抽象方法是不完整的方法,在基类中,抽象方法只有声明、没有方法体。我们使用abstract关键字定义,例如:

abstract void f();

含有抽象方法的类我们称之为抽象类,抽象类的定义也必须使用abstract关键字!如果一个类含有一个或者多个抽象方法,那么它必须定义为抽象的,否则编译出错。抽象类的定义:

abstract class T {}

抽象类是用来继承的,抽象方法必须被重写!当然,除非你的子类也是抽象的。抽象类是不完整的(即使你的抽象类中并不还有抽象方法),因此,实例化一个抽象类是不安全的,我们不可以尝试去new一个抽象类对象!

创建抽象类和抽象方法是非常有用的,因为他们可以使类的抽象性明确起来,暗示用户应该如何使用它们,抽象类是一种很有用的重构工具,因为这使得我们可以很容易的将公共方法沿着继承层次结构向上移动。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值