| 抽象类(abstract class) | 接口(Interface) |
关键字 | abstract | Interface |
方法 | 可以有普通方法 | 全部抽象方法(jdk8可以存着default方法、静态方法) |
构造器 | 有构造方法 | 无构造方法 |
与正常java类比较 | 除了你不能实例化抽象类之外,它和普通Java类没有任何区别 | 接口是完全不同的类型 |
访问修饰符 | 抽象方法可以有public、protected、default | 接口方法默认都是public |
继承 | 单继承多实现 | 接口多继承 |
变量 | 普通变量 | 常量 |
/**
* JAVA8特性
*/
public interface T {
public static void main(String[] args) {
System.out.println("interface");
}
default String f(){
return "";
}
static void f1(){
System.out.println("F1");
}
}
abstract class T1{
public static void main(String[] args) {
T.f1();
System.out.println("abstract");
}
}