JAVA之抽象

抽象概念


数据抽象为外界提供了仅有的基本信息,在表示基本特征的过程中不包括实现细节。举个真实世界的例子,比如

一本书。当你听到是书时,你不知道具体的细节,如页数颜射或者大小,但你明白书的概念、大概模样。这就是

对书的抽象。抽象的概念是我们关注基本特征,而不是一个特定的具体特征。

 

在Java中,抽象是使用抽象类和接口实现的。

抽象类是使用abstract 关键字定义的。

  1. 如果一个类声明抽象类,则不能被实例化(不能创建该类型的对象)。
  2. 要使用抽象类,必须从另一个类继承它。
  3. 抽象类中不一定包含抽象方法,但是包含抽象方法的类必定是抽象类。

 

提示:抽象方法没有定义,方法名后面直接跟一个分号,而不是一个花括号。

如:abstract void run();

抽象类

例如,我们可以将 Animal 类定义为抽象类:

abstract class Animal {
  int legs = 0;
  abstract void barking();
}

barking 方法也是抽象的,因为它在父类中没有实现。

我们可以继承 Animal 类并为子类定义 barking() 方法:

class Dog extends Animal {
  public void barking() {
    System.out.println("Woof-Woof");
  }
}

每种动物都会发出声音,但每种动物都有不同的叫声。这就是我们为什么要定义一个抽象类 Animal 的原因,并且把它们如何发出声音的实现留给子类。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值