抽象概念
数据抽象为外界提供了仅有的基本信息,在表示基本特征的过程中不包括实现细节。
举个真实世界的例子,比如一本书。当你听到是书时,你不知道具体的细节,如页数,颜色或大小,但你明白书的概念、大概模样。这就是对书的抽象。
抽象的概念是我们关注基本特征,而不是一个特定例子的具体特征。
在 Java 中,抽象是使用抽象类和接口实现的。
抽象类是使用 abstract 关键字定义的。
如果一个类声明为抽象类,则不能被实例化(不能创建该类型的对象)。
要使用抽象类,必须从另一个类继承它。
抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类。
提示:抽象方法没有定义,方法名后面直接跟一个分号,而不是花括号。如: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 的原因,并且把它们如何发出声音的实现留给子类。
网友评论