当父类的一些方法不能确定时,可以用abstract关键字来修饰该方法,这个方法就是抽象方法,用abstract来修饰该类就是抽象类
抽象类的介绍
1.用abstract关键字来修饰一个类时,这个类就叫抽象类
访问修饰符 abstract 类名 { }
2.用abstract关键字来修饰一个方法时,这个方法就是抽象方法
访问修饰符 abstract 返回类型 方法名(参数列表); //没有方法体
3.抽象类的价值更多作用是在于设计,是设计者设计好后,让子类继承并实现抽象类
4.抽象类在框架和设计模式使用较多
使用注意事项和细节
1.抽象类不能被实例化
2.抽象类不一定要包含abstract方法,也就是说抽象类可以没有abstract方法,还可以有实现的方法
3.一旦类包含了abstract方法,则这个类必须声明为abstract
4.abstract只能修饰类和方法,不能修饰属性和其他的
5.抽象类可以有任意成员(抽象类本质还是类),比如:非抽象方法、构造器、静态属性等
6.抽象方法不能有主体,即不能实现
7.如果一个类继承了抽象类,则它必须实现抽象类的所有的抽象方法,除非它自己也声明为abstract类
abstract class One {
public abstract void hi();
}
abstract class Two extends One {
}
class Three extends One {
@Override
public abstract void hi() {
//子类实现了父类的抽象方法
//实现方法就是有方法体(有大括号就行)
}
}
8.抽象方法不能使用private、final和static来修饰,因为这些关键字和重写是相违背的