抽象定义
抽象类为了继承而定义,主要是为了方便子类继承。所以抽象类不能作为子类。不能使用关键字new创建对象。
抽象方法和抽象类的关系是,如果一个类用abstract定义为抽象类,这个类可以拥有自己的方法,不必要有抽象方法。但是如果一个抽象方法存在,那么这个抽象方法所在的类必定要用abstract定义为抽象类。
静态方法不可声明为抽象,因为可以用抽象类的类名直接进行访问。
同样,final类与继承的定义不符,所以也不能定义为抽象
1 | abstract class A{ //抽象类 |
接口定义
接口的目的就是为了方便继承不同类的多个方法或者数据成员。
接口编码定义
使用关键字 interface 实现,接口是一个特殊的类,不能有自己的具体方法和变量。
1 | interface A{ |
与抽象类相似,不可以用new 创建对象
接口编码实现
使用关键字implements即可使用继承多个类.还可以用extends 继承父类
1 | class D extends C implements A , B{ |
其中C是具体的父类,A,B都是接口
接口继承
一个接口可以继承多个接口
如下所示
1 | interface A{ |