3.kotlin 类和函数
来源:互联网 发布:扁平疣网络医院 编辑:程序博客网 时间:2024/06/02 02:23
1.类的创建
在kotlin中类的创建很简单,只需要
class Person{
}
因为在kotlin中有默认的构造函数,当我们需要向这个类里面传入参数的时候,和java有点不同的是,参数直接在类名中,并且是 (变量名:类型)的格式,并且如果这个
类没有任何的内容就可以省略大括号和内容
class Person(name: String, surname: String)//或是 class Person(name: String, surname: String){}以上的两种方式都是可以的
2.主构造函数
以上的实现是属于主构造函数,相当于默认的构造函数,而在主构造函数中,我们想要初始化一些数据,必须要把内容写在init的内容块中
class Person(name:String,surname:String){ init{ val namelength=name.length }}3.次构造函数
当我们想要实现像java中的多种构造函数的效果的时候,就需要用到一个constructor 的关键字
class Person {//主构造函数 constructor() {Log.e("Person","2") } //通过this调用主构造函数,类似java中的super的调用 constructor(name: String):this() {Log.e("Person","2") } constructor(name: String, age: Int) : this(name) { Log.e("Person","3") }}
在上面的代码中,相当于次构造函数委托给主构造函数,相当于java中的 super操作,次函数有自己要实现的内容,并且实现主函数中的内容
当代码调用这个类的时候
val person=Person("name1","name2")
调用了第三个构造方法,并且打印出123,如果不想要继承主构造函数,或是其他的构造函数,只需要去掉后面的 (:this())即可。
4.类继承
在kotlin中也有和java中一样的基类 Any (相当于java 中的Object),一般的类是不继承,我们新建一个类的时候,能够继承的只有,
生命了 open 或是 abstract 的类,而继承也是很简单,和构造方法的继承一样
open class body(height: Int)class Person(name: String, height: Int) : body(height)5.函数
在java中相当于方法,在kotlin中定义函数只需要用 fun 这个关键字即可
//当没有指定数据类型的时候为无返回类型,会返回一个Unit,相当于java的void,不过Unit是一个真正的对象fun log(){Log.e("log","log")}//以下的就是指定返回Int类型fun add(x: Int, y: Int) : Int { return x + y}//能够用一个等式结束的内容,可以简写为以下这种方式fun add(x: Int, y: Int) : Int =x+y//还可以为函数添加默认值,这样调用的时候,可以不需要传入这个值fun atoast(message:String ,duration: Int=Toast.LENGTH_SHORT){ Toast.makeText(this,message,duration).show()}
阅读全文
0 0
- 3.kotlin 类和函数
- Hello Kotlin(三)类和函数
- kotlin--类与函数
- Kotlin 类 对象 函数
- Kotlin------函数和代码注释
- kotlin的变量和函数
- Kotlin类和函数等相关定义学习(四)
- kotlin学习day4:类和函数的使用
- Kotlin之字面函数和函数表达式
- Kotlin 类和对象
- Kotlin-类和继承
- Kotlin 类和继承
- Kotlin 类和对象
- Kotlin-类和继承
- kotlin的扩展函数和扩展属性
- Kotlin-12.扩展函数和属性(extensions)
- Kotlin中的函数和Lambda表达式
- Kotlin-22.Lambda表达式和函数
- React Native顶-底部导航使用小技巧
- 微信小程序实现点击图片旋转180度并且弹出下拉列表
- 公钥加密 私钥解密,私钥数字签名 公钥验证
- java调用Oracle存储过程返回Cursor
- maven导入第三方jar包
- 3.kotlin 类和函数
- Sketch的优点
- iOS 优秀英文系列教程
- solr中solrconfig.xml详解
- spring延迟加载,的配置和使用
- springMVC数据绑定
- linux清理内存、缓存
- Kotlin 延迟初始化
- opencv+Qt显示图像