1、声明接口类
声明如下:
[Capsulate] interface InterfaceName [extends parentsInterface]
{
[Capsulate] [修饰符] Type MemberVariable=Value;
[Capsulate] [修饰符] ReturnType fun(参数列表);
}
注意:
1、接口类没有构造函数。
2、接口类中定义的MemberVariable都自动声明成public static final。不可改变其中任一个,否则将发生编译错误。
3、接口类定义的fun(参数列表)也自动加上public字段,因为他是abstract方法。
4、接口类中声明的fun不能是static,包括main()也不能加。
声明如下:
[Capsulate] interface InterfaceName [extends parentsInterface]
{
[Capsulate] [修饰符] Type MemberVariable=Value;
[Capsulate] [修饰符] ReturnType fun(参数列表);
}
注意:
1、接口类没有构造函数。
2、接口类中定义的MemberVariable都自动声明成public static final。不可改变其中任一个,否则将发生编译错误。
3、接口类定义的fun(参数列表)也自动加上public字段,因为他是abstract方法。
4、接口类中声明的fun不能是static,包括main()也不能加。
注:Capsulate--封装 MemberVariable--成员变量
parentsInterface--父接口类
2、接口类的继承
1、extends和implements
接口与类的关系如下:
interface extends interface
class implements interface
2、接口的extends不同于类的extends,它可以extends多个父接口。继承多个父接口时注意如下:
<1>、多个父接口之间不能有相同的签名(signature)但又返回类型不同情况。
<2>、由于接口的成员变量(field)都是static类型,因此使用父接口的成员变时是要用“类名.字段”。如果无类名且父接口又有多个相同的此签名时,会编译错误。
1、extends和implements
接口与类的关系如下:
interface extends interface
class implements interface
2、接口的extends不同于类的extends,它可以extends多个父接口。继承多个父接口时注意如下:
<1>、多个父接口之间不能有相同的签名(signature)但又返回类型不同情况。
<2>、由于接口的成员变量(field)都是static类型,因此使用父接口的成员变时是要用“类名.字段”。如果无类名且父接口又有多个相同的此签名时,会编译错误。
<3>、接口类中没有this()和super()的用法。因为接口类的变量都是static,父接口的变量用“父接口.变量”来使用。而方法(fun())没有实现部分,super()和this()都一样没用(都得经过多态调用实现类中的方法)。