1、什么是抽象类?
带有抽象方法但没有方法体、并且在类名前添加abstract关键字的类是抽象类。
2、为什么用抽象类、什么时候用抽象类?
设计一个类作为一些类的父类(基类),必须根据子类的实际需求来进行不同的实现,那么就可以用abstract类。
3、怎么用抽象类?
例如,现在有三类事物:
(1)机器人:充电,工作;
(2)人:吃饭,工作,睡觉;
(3)猪:进食,睡觉。
现要求实现一个程序,可以实现三种不同事物的行为。
简单demo:
package com.ddd.abstractdemo;
abstract class A{//定义一个抽象类
public void fun(){//普通方法
System.out.println("存在方法体的方法");
}
public abstract void print();//抽象方法,没有方法体,有abstract关键字做修饰
}
//单继承
class B extends A{//B类是抽象类的子类,是一个普通类
@Override
public void print() {//强制要求覆写
System.out.println("Hello World !");
}
}
public class TestDemo {
public static void main(String[] args) {
A a = new B();//向上转型
a.print();//被子类所覆写的过的方法
}
}