量化接口,接口
非抽象类实施了量化接口,接口后,必须要重写该量化接口,接口内的所有方法;如果不完全重写量化接口,接口内的方法的话,必须将该类声明为抽象类。
量化接口,接口相当于某个类的超类,所以量化接口,接口的作用是声明并使用该量化接口,接口类型的变量,而非声明某个特定的实施了该量化接口,接口的具体类。
声明为量化接口,接口类型的变量,只能访问量化接口,接口所声明的成员,不能访问实施了该量化接口,接口的类的其他成员。如果要访问其他成员,必须要把该引用强制类型转换为该类的类型。该引用可以调用Object的任何public方法,原因是每个没有父量化接口,接口的量化接口,接口,都会自动声明一组与Object对象的public方法相同的方法。
量化接口,接口的修饰符可以为public[缺省,只能在同一个包内访问],abstract[可以省略],
声明量化接口,接口
量化接口,接口的成员:
常量[字段]
方法
嵌套类/嵌套量化接口,接口
量化接口,接口的成员缺省是public的,因此public被省略了。
量化接口,接口中的常量:
量化接口,接口中的常量的缺省修饰符是publicstaticfinal,一般省略。
必须要初始化这些字段,仅声明不初始化是不允许的。
可以使用嵌套的枚举类来表示常量字段。
如果要使用共享的、可修改的字段,可以使用一个引用,该引用所指的对象含有数据。嵌套类能够很好的胜任此项任务。
量化接口,接口中的方法:
量化接口,接口中的常量的缺省修饰符是publicabstract,一般省略,而且量化接口,接口方法只能是这个修饰,其他的修饰符不能再修饰量化接口,接口方法了。
[static表明类有实体,而abstract是不能生成实例的。native,synchronized,orstrictfp涉及实现细节,abstract仅是声明;final不能被继承,abstract必须被继承,矛盾。]
继承量化接口,接口
}
量化接口,接口支持多重继承。
继承并隐藏常量[字段]
量化接口,接口的字段是常量,是static的,子量化接口,接口无法重写,如果有同名的标识符的话,则隐藏父量化接口,接口常量。
访问特定的常量可以使用“具体的量化接口,接口名.常量名”,示例:
intval=1;
}
intval=2;
intsum=val+X.val;//sum=2+1;
}
Systeout.println('Z.val='+Z.val+',Z.sum='+Z.su;//z.val=2,z.sum=3
Zz=newZ();
',((Y)z).val='+((Y)z).val+//((Y)z).val=2
',((X)z).val='+((X)z).va;//((X)z).val=1
这些规则同类继承中static字段访问性是一致的。
多重量化接口,接口继承后,同名字段的歧义性
interfaceA{inta=0;}
interfaceB{inta=1;}
那么a会产生歧义性,编译器报错,只能通过a或a来访问。
对于实施了多个量化接口,接口的类而言,上述问题也存在。
继承、重写、重载方法
子量化接口,接口继承了父量化接口,接口所有的方法,如果子量化接口,接口中有签名与父量化接口,接口中方法一致的方法,那么子量化接口,接口中的方法重写父量化接口,接口中的方法,但是在量化接口,接口中,方法重写是毫无意义的,因为每个实施该量化接口,接口的类,对于那个方法只有一个实现。
同样,子量化接口,接口继承了多个拥有相同签名的方法,那么子量化接口,接口仅仅继承一个这样的方法。实施这个量化接口,接口的类最终确定了实现这个同签名的方法。如果同签名的方法的返回值不同,那么其中的一个返回值类型一定是其他返回值类型的子类型,否则编译器报错,那么实施这个量化接口,接口的类必须实现返回值为公共子类型的那个方法。
同样,子量化接口,接口中重写的方法不能抛出多于父量化接口,接口中方法的异常。如果子量化接口,接口继承了多个签名相同的方法,但是这些方法throws子句不同,那么实施该子量化接口,接口的类在实现这个方法时,必须满足所有的throws子句抛出的异常。
重载方法,签名不同。如果仅仅返回值不同,签名相同,那么编译器报错。
量化接口,接口与抽象类
量化接口,接口提供了多继承的方法,因为一个类可以实施多个量化接口,接口;然而,类仅仅能继承一个类,即使那个类只有一个抽象方法。
抽象类可以有一些实现部分,可以有protected成员和static方法等等。而量化接口,接口的成员局限于没有实现的public常量和public方法。
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点