抽象类要用abstart修饰,不能用new创建,抽象类里面可以定义抽象方法,但没有抽象方法的实现,只能用子类去实现它(extends继承)
接口要用interface修饰,接口不能被实例化,没有构造方法,接口用implements继承,实现接口时可以实现(继承)多个接口,实现接口时必须重写接口中的方法.
概念不一样,抽象类是对对象的抽象,是本质的抽象(比如人,分男人和女人,生物和非生物),接口是一种行为规范,是对动作的抽象(人吃东西).所以,一个类只能继承一个抽象类(人不能同时是生物和非生物只能选一个),而一个类可以同时继承多个接口.
从使用上看,抽象类可以有具体的方法和属性,接口只能有抽象方法和不可变常量.
抽象类中不能有任何实现,他的子类除非还是抽象类,否则必须覆盖(重写)所有的抽象方法. 接口中所有的方法都必须是未实现的.子类实现接口,如果子类是抽象类则不必实现接口中所有的方法(因为抽象类里允许存在抽象方法),但如果不是抽象类那就必须重写所有的方法