抽象类只可以继承一个,而接口可以实现多个。抽象类中的方法可有普通方法,而接口中的方法只能是抽象方法(JDK1.8后,接口方法也可以有默认实现)。接口中的变量只能是static、final变量,抽象类中不一定抽象类是对类的抽象,而接口是对具体行为的抽象接口中的方法默认是public,而抽象类中的方法可以是public、protected、default