1. 抽象:现实中不存在的东西
在java中:只声明,不实现
2. 抽象方法:使用abstract关键字来修饰,没有方法体,以分号结束
语法:
public abstract void 方法名();
3. 抽象类:如果类中有抽象方法,则该类必须为抽象类
特点:
- 抽象类不能创建对象
- 抽象类的子类,必须重写父类中的抽象方法(将抽象方法重写成正常方法),否则子类也必须改为抽象类
- 抽象类中可以存在正常方法
作用:通过抽象类可以强制要求子类中有哪些方法,规范化子类
package practice.p1;
public abstract class Animal { //若类中有抽象方法,则类也必须为抽象类
// 抽象方法由abstract关键字来修饰
public abstract void eat();
public abstract void sleep();
public void move() { //抽象类中可以有正常方法
System.out.println("The animal is moving");
}
}
package practice.p1;
public class Cat extends Animal{
public void eat() { //重写父类的方法
System.out.println("The cat is eating.");
}
public void sleep() {
System.out.println("The cat is sleeping.");
}
}
package practice.p1;
public class Spot {
public static void main(String[] args) {
Animal a = new Cat(); //多态性在抽象类的应用
a.eat();
a.sleep();
a.move();
}
}