Java 对抽象类的理解
抽象类的定义:
类到对象是实例化,而对象到类是抽象。
抽象类;
1. 什么是抽象类?
类和类之间具有公共特征,将这些公共特征提取出来,形成的就是抽象类。
类本身不存在,所以抽象类无法创建对象(即无法实例化)
2. 抽象类属于什么数据类型?
抽象类也属于引用数据类型
3. 抽象类怎么定义?
[修饰符列表] abstract class 类名{
类体
}
4. 抽象类是无法实例化的,无法创建对象,所以抽象类是用来被子类继承的
5. fianl和abstract不能联合使用,这两个关键字是对立的
6. 抽象类的子类可以是抽象类
7. 抽象类虽然无法实例化,但是抽象类有构造方法,这构造方法是提供给子类使用的
8. 抽象类关联到一个概念:抽象方法
抽象方法表示没有实现的方法,没有方法体的方法:
public abstract void dosome();
抽象方法的特点是:
特点一:没有方法体,以分号结尾
特点二:前修饰符列表中有abstract关键字
注意:Obect类中有很多方法没有方法体,都是以";"结尾,但他们都不是抽象方法!
9. ***抽象类不一定有抽象方法,但抽象方法必须在抽象类中!***
当子类继承抽象类,抽象类当中有抽象方法,那么根据规定“抽象方法必须在抽象类中!”
※※※※※子类必须实现(即重写)继承过来的抽象方法!!!※※※※※
-
如果不实现继承过来的抽象方法,编译器会报错↓
-
bird类 实现抽象类Animal的抽象方法↓
//抽象类
abstract class Animal{
//抽象方法
public abstract void move();
}
class bird extends Animal{
@Override
//实现Animal类的抽象方法
public void move() {
System.out.println("雄鹰在翱翔!");
}
}