Kotlin构造函数
普通构造函数
- 直接命名即可
- 需要有默认值
- 基本类型可以缺省
- 使用缺省一定要把默认类型写对
- 调用init函数后可以作为全局变量使用
class MyBean(name:String,age:Int,sex:Boolean) { var name:String = "" var age:Int = 0 //缺省 var sex = false init { this.name = name this.age = age this.sex = sex }
多重构造函数
- 多重构造函数需要有一个主函数,和N个次函数
- 次函数将委托给主函数
- 委托关系用this关键词表示
class MyBean { var name: String = "" var age: Int = 0 //缺省 var sex = false /** * 1. 多重构造函数需要有一个主函数,和N个次函数 * 2. 次函数将委托给主函数 * 3. 委托关系用this关键词表示 */ //主函数 constructor() //次函数 constructor(name:String):this(){ this.name = name } //次函数 constructor(name:String,age:Int,sex:Boolean):this(){ this.name = name this.age = age this.sex = sex } }
构造函数使用
- 普通构造函数
//填值,相当于setter var tb = MyBean() tb.age = 12 tb.name = "ZhangSan" tb.sex = true //取值,相当于getter var zsName = tb.name var zsAge = tb.age var zsSex = tb.sex
- 多重构造函数
var bean1 = MyBean() var bean2 = MyBean("zhangsan") var bean3 = MyBean("zhangsan",14,false)
原文地址:https://www.jianshu.com/p/ea8290d1bb03
相关推荐
-
从线程池到synchronized关键字详解 Java基础
2019-5-10
-
从构建分布式秒杀系统聊聊分布式锁 Java基础
2020-5-30
-
Android获取本地视频文件的截图 Java基础
2019-8-22
-
聊聊心跳机制及netty心跳实现 Java基础
2019-5-22
-
不可错过的java面试博客之java集合篇 Java基础
2020-6-13
-
Maven 私服的简单使用 Java基础
2019-7-25
-
Https双向验证与Springboot整合测试-人来人往我只认你 Java基础
2020-6-13
-
微服务与SOA架构 Java基础
2020-5-28
-
GO语法解读-struct的匿名interface Java基础
2020-6-16
-
AVL树原理及实现(C语言实现以及Java语言实现) Java基础
2019-3-24