抽象类和接口的主要区别可以总结如下
- 抽象类中可以没有抽象方法,也可以抽象方法和非抽象方法共存
- 接口中的方法在JDK8之前只能是抽象的,JDK8版本开始提供了接口中方法的default实现
- 抽象类和类一样是单继承的;接口可以实现多个父接口
- 抽象类中可以存在普通的成员变量;接口中的变量必须是static final类型的,必须被初始化,接口中只有常量,没有变量

public interface MyInterface {
// 定义一个已经实现的方法,使用default表明
default void say(String message){
System.out.println("Hello "+message);
}
// 普通的抽象方法
void test();
}
class MyClass implements MyInterface{
@Override
public void test() {
System.out.println("test...");
}
}
class Main{
public static void main(String[] args) {
MyClass client = new MyClass();
client.test();
client.say("World...");
}
}
基础很重要