接口和抽象类有什么区别 定义上看:接口:用interface修饰,允许定义抽象方法和静态成员变量。抽象类:用abstract修饰,允许定义抽象方法和一般方法,也可以定义成员变量。 用法上看:用接口还是用抽象类,取决于两个类是否具备相同的属性。当两个类具有相同的行为和属性时,我会抽象为抽象类,比如说老鹰和麻雀,我会定义一个鸟的抽象类。当两个类具有相同的行为时,我会抽象为接口,比如说小猫和小鸟,我会把他们会叫这个行为抽象为接口。