抽象类是以abstract声明的类,抽象类的方法不一定是抽象方法。
和接口一样,抽象类不能实例化,但能被继承。
抽象方法
以abstract声明,没有具体方法实现。
abstract void moveTo(double deltaX, double deltaY);
当抽象类被继承时,子类继承通常会实现所有抽象方法,如果没有全部实现,子类必须声明为抽象类。
接口中的非static和default方法会被隐式抽象,因此可以省略
abstract
关键字。
抽象类 VS 接口
两者都不可以实例化,都可以包含为实现的方法。
抽象类中可声明,非static和final的变量,public, protected和 private方法。
接口中所有变量自动为public, static和 final,所有方法都是static。
只能继承一个类,但是可以实现多个接口。
网友评论