1、关键点
如果一个类 继承了抽象类,则它必须实现抽象类的所有抽象方法,除非它自己也是抽象类
抽象方法不能使用 private、final 和 static 来修饰,因为这些关键字都是和重写相违背的
package myAbstract;
/*
1、场景:当父类的某些方法,需要声明,但是有不确定如何实现时,可以将其声明为抽象方法
那么这个类就是抽象类
2、介绍:抽象方法,就是没有实现的方法
3、抽象类的介绍:
1) 用 abstract 关键字来修饰一个类时,这个类就叫抽象类
访问修饰符 abstract 类名 {
}
2) 用 abstract 关键字来修饰一个方法时,这个方法就叫抽象方法
访问修饰符 abstract 返回类型 方法名(参数列表);
3) 抽象类的价值在于设计,是设计者设计好后,让子类继承并实现
4、说明
1) 抽象类不能被实例化
2) 抽象类不一定要包含abstract方法,还可以有实现的方法
3) 一旦类包含了abstract方法,该类就一定要声明为抽象类
4) abstract 只能修饰类和方法,不能修饰其他的
5) 抽象类可以有任意的成员(抽象类的本质还是类),
6) 抽象方法不能有主体,即{},
7) 如果一个类 继承了抽象类,则它必须实现抽象类的所有抽象方法,除非它自己也是抽象类
8) 抽象方法不能使用 private、final 和 static 来修饰,因为这些关键字都是和重写相违背的。
*/
public class MyAbstract {
public static void main(String[] args) {
// new Animal();
}
}
abstract class Animal{
// 父类的eat方法,实现了也意义不大
// 将该方法设计为抽象方法(abstract)
// 抽象方法就是没有实现的方法,即 没有方法体 的方法
// 当一个类中存在抽象方法时,需要将该类也声明为 abstract 类
// 一般来说,抽象类会被子类继承,在子类中实现
// public void eat(){
// System.out.println("动物吃...");
// }
abstract public void eat();
}