Java-抽象方法和抽象类

abstract关键字

由abstract修饰的方法为抽象方法,抽象方法只有方法的定义,诶欧方法体实现,用一个分号结尾;
一个类如果包含抽象方法,该类应该用abstract关键字声明为抽象类;
如果一个类继承了抽象类,必须重写其抽象方法(除非该类也声明了抽象类)。

抽象类不可以实例化

抽象类不可以实例化,例如:如果Shape是抽象类的话,下面的代码是错误的:

Shape s = new Shape(); //编译错误

即使一个类中没有抽象方法,也可以将其定义为抽象类,同样,该类不可以被实例化。
abstract和final关键字不可以同时用于修饰一个类,因为final使得类不可继承,而abstract修饰的类如果不继承将没有任何意义。

抽象类的意义

为其子类提供一个公共的类型
封装子类中重复的内容
定义有抽象方法,子类虽然有不同的实现,但该方法的定义是一致的。

你可能感兴趣的:(编程语言)