Java中的抽象类是用来抽象子类的通用特性,本质上还是类,可以含有属性和方法(包括构造方法)。但是与普通类不同的是,它不能够被实例化,只能被继承,而且它可以含有抽象方法(没有具体实现)。子类继承抽象类时,需要重写抽象方法。Java中的接口是抽象方法的集合,它没有构造方法,而且不能含有普通方法(可以含有属性)。如果一个类实现了某个接口,就必须重写接口的所有抽象方法。