抽象类和接口
Java可以创建一种类专门用来当做父类,这种类被称为“抽象类”。抽象类的作用类似“模板”,其目的是要设计者依据它的格式来修改并创建新的类。与普通类相比,其中多了抽象方法。
抽象方法是只声明而未实现的方法,所有的抽象方法必须使用abstract关键字声明,包含抽象方法的类也要用abstract class声明。
抽象类的定义规则如下:
(1)抽象类和抽象方法必须用abstract关键字来修饰。
(2)抽象类不能直接被实例化,也就是不能直接用new关键字去产生对象。
(3)抽象类只需声明,而不需实现。
(4)含有抽象方法的类必须是抽象类,抽象类的子类必须覆写所有抽象方法后才能被实例化,否者这个子类还是抽象类。
抽象方法:
abstract 返回值的数据类型 方法名称(参数)
//定义抽象方法,在抽象方法中没有定义方法体
抽象类中的构造方法必须在子类中调用。
接口的基本概念
接口(interface)是Java所提供的另一种重要技术,它的接口和抽象类非常相似,也是具有成员和抽象方法,但它与抽象类又有以下两点不同:
(1)接口里的数据成员必须初始化,且数据成员均为常量。
(2)接口的方法必须全部声明为abstract,即接口不能像抽象类一样保有一般的方法,必须全部为抽象方法。
接口的定义如下:
interface 接口名称 //定义抽