·抽象方法
使用 abstract 修饰的方法,没有方法体,只有声明。定义的是一种“规范”,就是告 诉子类必须要给抽象方法提供具体的实现。
·抽象类
包含抽象方法的类就是抽象类。通过abstract 方法定义规范,然后要求子类必须定义 具体实现。通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用。
抽象类的使用要点:
-
有抽象方法的类只能定义成抽象类
-
抽象类不能实例化,即不能用new 来实例化抽象类。
-
抽象类可以包含属性、方法、构造方法。但是构造方法不能用来new 实例, 只能用来被子类调用。
-
抽象类只能用来被继承。
-
抽象方法必须被子类实现。
代码演示:
抽象类
public abstract class AbstractStudent {
// 抽象类可以包含属性、方法、构造方法。
// 但是构造方法不能用来new 实例, 只能用来被子类调用。
int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public AbstractStudent(int id) {//构造方法
this.id = id;
}
abstract public void Study();//抽象方法
abstract public void exam();//抽象方法
}
测试方法
public class Test {
public static void main(String[] args) {
// AbstractStudent student = new AbstractStudent() 抽象类不能创建对象
StuLin stuLin = new StuLin();
stuLin.Study();
stuLin.exam();
}
}
class StuLin extends AbstractStudent{
@Override
public void Study() {
System.out.println("周一到周天不停充电学习");
}
@Override
public void exam() {
System.out.println("我要交好每一份答卷");
}
}
总结:
继承抽象类,必须要实现抽象类内部规定的抽象方法