classHello(// 主构造函数, 直接在主构造函数中定义属性varname:String,// 该值是临时变量, 为 age 属性赋值_age:Int){// 类中的属性varage=_agevartype="老鼠"vargender:String init{println("init 初始化块开始执行")gender="男"}constructor(_age:Int):this("Tom",_age){println("次构造函数开始执行...
*/classTest(num: Int){ ... } 1.2、构造函数中的初始化代码块 构造函数中不能出现其他的代码,只能包含初始化代码。包含在初始化代码块中。 关键字:init{...} 值得注意的是,init{...}中能使用构造函数中的参数 例: funmain(args:Array<String>){// 类的实例化,会在下面讲解到,这里只是作为例子讲解打...
初始化类的属性:在init块中可以对类的属性进行初始化,例如给属性赋初值或者根据其他属性计算初始值。 执行其他初始化操作:init块可以执行一些其他的初始化操作,例如连接数据库、加载配置文件等。 以下是一个示例代码,展示了init块的使用: 代码语言:txt 复制 class MyClass(name: String) { val greeting: String in...
classViewprivateconstructor(tt: Int) {...}//主构造函数设置为私有的,则外部不能通过主构造函数进行创建该类;通常用于单例classView @Inject constructor(tt: Int) {...}//这里增加这个Inject注解来标记一个需要注入的依赖项 2、初始化语句块 一个类里面可以有多个初始化语句块,格式是 init {...} classVi...
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...
class Student constructor(num: Int) { init { println("num ==$num") } } 1. 2. 3. 4. 5. init() 是主构造方法的初始化方法(也称为初始化代码块) 也就是说主构造方法被调用后,会调用init()这个方法,初始化数据,主构造方法内的参数,init()方法可以使用。
class Dog constructor(val age: Int, val name: String){ init { println("Dog $name is $age years old.") } } 1. 2. 3. 4. 5. 6. 7. 如果构造器有注解,或者有可见度修饰符,则constructor关键字是必须的,注解和修饰符放在它之前,否则constructor可以省略不写。
class Test constructor(num : Int){ ... } 等价于 /* 因为是默认的可见性修饰符且不存在任何的注释符 故而主构造函数constructor关键字可以省略 */ class Test(num: Int){ ... } 1.2、构造函数中的初始化代码块 构造函数中不能出现其他的代码,只能包含初始化代码。包含在初始化代码块中。 关键字:init{...
init---initconstructor,name=zhangsan class Student() 等价于 class Student constructor(),如果需要对主构造函数的权限进行控制,可以修改如下。 classStudentprivateconstructor(){...} 3.2 有参主构造函数(普通参数) funmain(){varstu1=Student("xiao ming",23)println("--...
名字被混淆处理(check_XYhEtbk)主要有两个目的防止重载函数的参数经过 inline 后出现相同签名的情况防止从Java侧调用到参数经过 inline 后的方法Inline class 的成员inline class 具备普通 class 的所有特性,例如拥有成员变量、方法、初始化块等@JvmInlinevalue className(val s: String) {init { require(s.len...