抽象类
定义为抽象的类不能被实例化。
只要类里面有抽象方法,那么这个类就必须声明为抽象类。
抽象方法只能声明调用方式(参数),不能声明具体功能实现(没有函数体),具体功能实现要子类去实现。
继承抽象类时,子类必须实现父类的所有抽象方法,而且这些方法的可见性不能小与父类的(可见性:public>protected>private)。子类可以定义父类方法里没有的参数,但是父类有的参数不能省略。
接口
使用接口,可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。(某种程度上和抽象类类似,但是接口可以多继承)
接口中的所有方法的可见性都必须是public的,这是接口的特性。
要实现一个接口,使用implements操作符,类中必须实现接口中的所有方法且要使用和接口中完全一致的方式。
类可以继承多个接口,通过逗号分隔。实现多个接口时,接口中的方法不能重名。
接口也是可以继承接口的。
接口中也可以定义常量。接口常量和类常量的使用完全相同,但是不能被子类或子接口所覆盖。