抽象类
抽象类的概念:
在面对对象的概念中,所有的对象都是通过类来描绘的,但是并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
抽象类的特点:
1.在java语言中使用absstract class来定义抽象类
2.抽象类不能被直接实例化对象
3.抽象类必须被继承才能被使用,子类可以继承父类的成员方法
4.抽象类中不一定包含抽象方法,但是有抽象方法的类必定是抽象类
接口
接口的概念:
接口在java语言中是一个抽象类型,是抽象方法的集合。接口不是类,类描述对象的属性和方法,接口则包含类要实现的方法。
接口的特点:
1.接口通常以interface来声明,一个类通过继承接口的方式来继承接口的抽象方法
2.接口无法被实例化,但可以被实现
3.接口中的方法不能在接口中实现,只能由实现接口的类来实现接口中的方法
抽象类和接口的区别:
1.抽象类中的方法可以有方法体,是能实现方法的具体功能,但是接口中的方法不行。
2.抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final类型的
3.抽象类中可以有静态代码和静态方法,而接口中不能有
4.一个类只能继承一个抽象类,而一个类却可以实现多个接口