classHello(// 主构造函数, 直接在主构造函数中定义属性varname:String,// 该值是临时变量, 为 age 属性赋值_age:Int){// 类中的属性varage=_agevartype="老鼠"vargender:String init{println("init 初始化块开始执行")gender="男"}constructor(_age:Int):this("Tom",_age){println("次构造函数开始执行...
初始化类的属性:在init块中可以对类的属性进行初始化,例如给属性赋初值或者根据其他属性计算初始值。 执行其他初始化操作:init块可以执行一些其他的初始化操作,例如连接数据库、加载配置文件等。 以下是一个示例代码,展示了init块的使用: 代码语言:txt 复制 class MyClass(name: String) { val greeting: String in...
classViewprivateconstructor(tt: Int) {...}//主构造函数设置为私有的,则外部不能通过主构造函数进行创建该类;通常用于单例classView @Inject constructor(tt: Int) {...}//这里增加这个Inject注解来标记一个需要注入的依赖项 2、初始化语句块 一个类里面可以有多个初始化语句块,格式是 init {...} classVi...
主构造器放在类名后,不能包含任何代码,初始化代码可以放在初始化代码段中,初始化代码段使用init关键字作为前缀。 注意:主构造器的参数可以在初始化代码段中使用,可以通过主构造器来定义属性并初始化属性值(可以是var或val)。 class Dog constructor(val age: Int, val name: String){ init { println("Dog $name...
*/classTest(num: Int){ ... } 1.2、构造函数中的初始化代码块 构造函数中不能出现其他的代码,只能包含初始化代码。包含在初始化代码块中。 关键字:init{...} 值得注意的是,init{...}中能使用构造函数中的参数 例: funmain(args:Array<String>){// 类的实例化,会在下面讲解到,这里只是作为例子讲解打...
对于函数式编程,通常要写大量的PoJo用以在函数之间传递数据,这些对象最大的特点就是仅是数据,且不可变(Immutable),通常的实现方式就是把成员变量全用final修饰(只读read only)。在Kotlin中,可以非常方便的定义这要的类型,即data class。 data class User(val name: String, val age: Int) ...
class Hello( // 主构造函数, 直接在主构造函数中定义属性 var name: String, var age: Int ){ init { // 将 name 属性首字母大写 name = name.capitalize() // 检查 age 是否合法 // 如果不符合要求, 则抛出异常 require(age > 0) {
class Test constructor(num : Int){ ... } 等价于 /* 因为是默认的可见性修饰符且不存在任何的注释符 故而主构造函数constructor关键字可以省略 */ class Test(num: Int){ ... } 1.2、构造函数中的初始化代码块 构造函数中不能出现其他的代码,只能包含初始化代码。包含在初始化代码块中。 关键字:init{...
classRunoobconstructor(name:String){// 类名为 Runoob// 大括号内是类体构成varurl:String="http://www.runoob.com"varcountry:String="CN"varsiteName=name init{println("初始化网站名: ${name}")}// 次构造函数constructor(name:String,alexa:Int):this(name){println("Alexa 排名 $alexa")}fun print...
classRunoobconstructor(name:String){// 类名为 Runoob// 大括号内是类体构成varurl:String="http://www.runoob.com"varcountry:String="CN"varsiteName=name init{println("初始化网站名: ${name}")}// 次构造函数constructor(name:String,alexa:Int):this(name){println("Alexa 排名 $alexa")}fun print...