Kotlin中声明一个属性可以使用val或var关键字。var表示为可变属性,val表示为只读属性。
class Test { val x = 0; var y = 1.0f }如果属性值载编译期间就能确定,则可以使用const修饰符,将属性标记为编译器常数值,这类属性必须满足以下所有条件:
必须是顶级属性,或者是一个object的成员
值被初始化为String类型,或基本类型
不存自定义的取值方法
object Test3 { const val TEXT: String = "Hello" }Kotlin中的接口与Java8非常类似,接口中可以包含抽象方法的声明,也可以包含方法的实现。接口与抽象类的区别在于,接口不能存储状态数据,接口可以拥有属性,但这些x属性必须是抽象的,或者必须提供访问器的自定义实现。
接口使用interface关键字来定义:
interface Test2 { fun test1() fun test2(str: String): String { return "Hello $str" } }类或者对象可以实现一个或多个接口:
object Test3 : Test2 { override fun test1() { print("Hellol") } } class Test4 : Test2 { override fun test1() { print("World") } }