java抽象类:
java的abstract 类负责抽象出一类共有的特性,但是不需要去实现,只是声明;其子类负责实现这些共性方法
抽象类可以有抽象方法,只允许声明,不允许实现,而且不能使用final关键字修饰abstract方法
接口
interface接口,如果一个类使用了某个接口,那么这个类必须实现改接口的所有方法,即为这些方法提供方法体,
需要注意的是,接口中的方法默认为 public abstract,所以类在实现接口时必须给出方法体,比切一定要用pblic abstract来修饰.变量默认为public static 常量.
如果一个类声明实现一个接口.但是没有试想接口中的所有的方法那么这个类必须是abstract类.
抽象类和接口的区别:
一个类可以有多个接口 只能有继承一个父类 抽象类可以有构造方法,接口中不能有构造方法。 抽象类中可以有普通成员变量,接口中没有普通成员变量 接口里边全部方法都必须是abstract的 抽象类的可以有实现了的方法 抽象类中的抽象方法的访问类型可以是public,protected 但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型 抽象类中可以包含静态方法,接口中不能包含静态方法 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。
按三点答:先答属性:抽象类可以有普通成员变量,接口不行; 然后答方法:抽象类有非抽象的方法和构造方法,并且修饰符可以是私有的,接口只能是抽象的方法,并且修饰符是public,最后说一句只能继承一个抽象类,但能实现多个接口。