接口定义
1、接口是用interface声明的,用来约束类的方法;
2、接口没有构造函数,无法直接通过new创建,只可以被实现;
3、接口可以被多实现;
4、接口之间可以多继承;
5、接口里的变量都是默认public static final
修饰的
1.8以前
- 接口中的方法都是默认
public abstract
修饰的,不可用其他修饰符 - 接口中所有方法都不可实现
public interface StandardInterface {
int value=1;
void test();
}
1.8以后
- 接口中的抽象方法都是默认
public abstract
修饰的 - 接口中可以存在非抽象方法,包括静态方法和非静态方法
- 静态方法默认是
public
修饰的,不可用其他修饰符 - 非静态方法必须用
default
修饰,代表接口中的默认实现
public interface StandardInterface {
int value = 1;
void test();
default void testDefault() {
}
static void testStatic() {
}
}
与抽象类的区别
抽象类是用abstract来声明的;抽象类只可以被单继承;抽象类的属性和方法修饰符不被限制;抽象类可以
存在静态代码块,接口不行。