创建抽象类/抽象方法
抽象类中的抽象方法没有方法体
abstract class Main {
abstract void Do();
}
若类名没有abstract关键字则编译错误,说明抽象类和抽象方法需要被abstract关键字修饰。
public class Test{
public static void main(String[] args){
Main m = new Main();
}
}
由于抽象方法没有方法体,自然地,此时实例化对象会报错。
抽象类一般用于重写和被继承 ,这样可以减少一些不必要的重复代码,同时可以实现“多态”,这一点也与Java“一处编译,处处运行”的理念相生。
abstract class Main {
abstract void Do();
}
class Subclass extends Main {
@Override
void Do() { // 重写抽象类中的Do方法
System.out.println("Redone");
}
}
public class Test {
public static void main(String[] args) {
Main m = new Subclass();
//"父类引用指向子类对象"
Main.Do();
}
}