在抽象类中,抽象方法本质上是定义量化投资接口,接口规范:即规定高层类的量化投资接口,接口,从而保证所有子类都有相同的量化投资接口,接口实现,这样,多态就能发挥出威力。
如果一个抽象类没有字段,所有方法全部都是抽象方法:
就可以把该抽象类改写为量化投资接口,接口:interface。
在Java中,使用interface可以声明一个量化投资接口,接口:
所谓interface,就是比抽象类还要抽象的纯抽象量化投资接口,接口,因为它连字段都不能有。因为量化投资接口,接口定义的所有方法默认都是publicabstract的,所以这两个修饰符不需要写出来。
当一个具体的class去实现一个interface时,需要使用implements关键字。举个例子:
class Student implements Person {
private String name;
public Student(String name) {
this.name = name;
}
@Override
public void run() {
System.out.println(this.name + ' run');
}
@Override
public String getName() {
return this.name;
}
}
我们知道,在Java中,一个类只能继承自另一个类,不能从多个类继承。一个类可以实现多个interface,例如:
注意区分术语:
Java的量化投资接口,接口特指interface的定义,表示一个量化投资接口,接口类型和一组方法签名,而编程量化投资接口,接口泛指量化投资接口,接口规范,如方法签名,数据格式,网络协议等。
抽象类和量化投资接口,接口的对比如下:
量化投资接口,接口继承
一个interface可以继承自另一个interface。interface继承自interface使用extends,它相当于扩展了量化投资接口,接口的方法。例如:
interface Hello {
void hello();
}
interface Person extends Hello {
void run();
String getName();
}
此时,Person量化投资接口,接口继承自Hello量化投资接口,接口,Person量化投资接口,接口现在实际上有3个抽象方法签名,其中一个来自继承的Hello量化投资接口,接口。
继承关系
合理设计interface和abstractclass的继承关系,可以充分复用代码。一般来说,公共逻辑适合放在abstractclass中,具体逻辑放到各个子类,而量化投资接口,接口层次代表抽象程度。可以参考Java的集合类定义的一组量化投资接口,接口、抽象类以及具体子类的继承关系:在使用的时候,实例化的对象永远只能是某个具体的子类,但总是通过量化投资接口,接口去引用它,因为量化投资接口,接口比抽象类更抽象:
List list = new ArrayList(); // 用List量化投资接口,接口引用具体子类的实例
Collection coll = list; // 向上转型为Collection量化投资接口,接口
Iterable it = coll; // 向上转型为Iterable量化投资接口,接口
default方法
在量化投资接口,接口中,可以定义default方法。例如,把Person量化投资接口,接口的run()方法改为default方法:
实现类可以不必覆写default方法。default方法的目的是,当我们需要给量化投资接口,接口新增一个方法时,会涉及到修改全部子类。如果新增的是default方法,那么子类就不必全部修改,只需要在需要覆写的地方去覆写新增方法。
default方法和抽象类的普通方法是有所不同的。因为interface没有字段,default方法无法访问字段,而抽象类的普通方法可以访问实例字段。
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点