接口:interface
将class改成interface
//接口
public interface Lock{
}
特点:
1,将class改成interface 是一个特殊的类
2,接口中的方法都是公共抽象方法。隐式 抽象方法 。不能实例方法
3,接口没有构造方法,也不能实例化。只能被实现(implements)
4,一个类可以实现多个接口,实现类中必须实现接口中的所有方法。
5,接口中的变量都是隐式的静态常量。
关系
类和类 : 单继承关系
类和接口:多实现关系
接口接口:多继承关系
interface1 extends interface2,interface3 {
}
class test1 extends class1 implements interface1{
}
class class1 implements interface1,interface2{
}
抽象类和接口的区别
**相同点:**
1,不能实例化
2,抽象类和接口中的抽象方法必须被实现。
**不同点:**
1,抽象类有构造方法,接口没有
2,抽象类有实例方法,接口只有抽象方法
3,抽象类属于单继承,接口可以多继承
4,抽象类中成员变量可以是各种类型的,接口只有静态常量
***jdk1.8之后
允许有默认方法和静态方法。
jdk1.9之后
允许有私有方法***