一、接口的定义
1、接口中可以定义方法和属性。
2、方法和属性前不能加任何访问修饰符。
二、接口的实现
1、接口的实现可分为显式实现和隐式实现。
2、显式实现接口的方法或属性时,方法或属性的名称前必须加上接口的名称。
3、显式实现接口的方法或属性时,不能加任何访问修饰符,即使是 private 也不能加(虽然对于类而言,它是私有的)。
4、显式实现的接口方法或属性,只能通过接口的实例调用,不能用类的实例调用。
5、隐式实现接口的方法或属性时,方法或属性的名称前不能加接口的名称。
6、隐式实现的接口方法或属性,访问修饰符必须是 public。
7、只有隐式实现的接口方法可以标记为虚方法,因为虚方法不能为 private。这同样适用于 abstract 关键字。
8、一个接口中的方法或属性,可以一部分采用隐式实现,另一部分采用显式实现。
9、只要基类实现了接口,不论是隐式还是显式实现,其派生类均视为已实现该接口。
10、实现接口方法时,方法的签名必须与接口中的声明严格一致,其参数及返回值不可以替换为相应的基类或派生类。