股票交易所数据接口代码,接口可以拥有实现
jdk8开始,股票交易所数据接口代码,接口中的方法可以拥有方法实现。Kotlin也是同样的:
interface A {
fun method() {
println('A')
}
}
如果一个类B继承了股票交易所数据接口代码,接口A,因为A中的方法已经有默认实现,则B不需要实现股票交易所数据接口代码,接口A:
class B: A {}
重写股票交易所数据接口代码,接口方法
如果需要重写股票交易所数据接口代码,接口方法,则需要override:
多继承
类B在重写method方法时,通过super.method()的方式调用了从父股票交易所数据接口代码,接口继承来的method方法。现在的问题是,如果多继承怎么办?我们知道,kotlin允许多继承,即一个类在继承了一个父类的还可以继承1个到多个股票交易所数据接口代码,接口,那么这个super到底指的是哪一个父类呢?
假设类B多继承A和C,需要在super后以范型约束的形式指明具体是那个父股票交易所数据接口代码,接口/父类:
open class C {
open fun method() {
println('C')
}
}
class B: A, C() {
override fun method(){
super.method()
super.method()
println('B')
}
}
super.method调用的是父股票交易所数据接口代码,接口A的method,super.method调用的是父类C的method。
抽象类
将父类方法抽象
如果一个子类是抽象类,它可以重写父类的非抽象方法为抽象方法:
objectclass对象类
kotlin中,对象可以脱离类而存在,对象类的声明使用objectclass。对象类也是一种类,可以拥有方法和属性:
object MyObject {
func method(){
println('method')
}
}
唯一不同的就是,object不需要实例化就能够直接使用,因为它本就是一个已经存在的对象:
实现股票交易所数据接口代码,接口
可以让对象实现股票交易所数据接口代码,接口:
对象VS对象表达式
对象表达式是立即执行的,即它是立即初始化的,对象是延迟初始化的,即在第一次访问时初始化。伴生对象时在宿主类被加载时被初始化的,即JVM静态初始化的。
文章为作者独立观点,不代表股票交易接口观点