首先在定义上抽象类用 abstract,而接口用interface 例如创建类时
public abstract class 类名 {
}
public interface 类名{
}
2、在构造方法上抽象类有构造方法,而接口没有构造方法
3、在继承时,抽象类只能单继承,而接口可以继承多个接口,接口在继承多个接口时,各个接口用“,”隔开。例如:
class abstract Whale extends Mammal{
}
public interface IMammal extends I,II{
}
4、实现类中,抽象类型extends,接口implements。
public class Whale extends IMammal{
}
public class Whale implements IMammal{
}
5、成员变量:抽象类可以定义任何合法的成员变量 ,而接口只能定义public,static,final的变量即常量
6、方法:抽象类可以定义任意合法方法; 接口中只能定义抽象方法,JDK8以前,定义的接口只能含有常量和抽象方法,8以后可以定义多个default或static具体方法
public default void name() {
}