抽象方法:仅有声明没有方法体
abstract void f();
抽象类:包含抽象方法的类叫做抽象类,但是抽象类不一定包含抽象方法
有抽象方法一定是抽象类;但定义一个没有抽象方法的类也是可以的,只是为了阻止其实例化
abstract class Ab{
void h(){
System.out.println("我是普通方法");
}
}
public class Main extends Ab{
public static void main(String[] args) {
Main main = new Main();
main.h();
}
}
输出:
我是普通方法
要想从一个抽象类继承,并且创建一个它的实例,就必须为抽象类中所有抽象方法提供方法定义(为抽象方法写方法体),如果不这样做那么导出类也必须是抽象类
abstract class Ab{
abstract void f();
void h(){
System.out.println("我是普通方法");
}
}
public class Main extends Ab{
public static void main(String[] args) {
Main main = new Main();
main.f();
}
@Override
void f() {
System.out.println("重写抽象方法");
}
}
输出:
重写抽象方法