classHello(// 主构造函数, 直接在主构造函数中定义属性varname:String,// 该值是临时变量, 为 age 属性赋值_age:Int){// 类中的属性varage=_agevartype="老鼠"vargender:String init{println("init 初始化块开始执行")gender="男"}constructor(_age:Int):this("Tom",_age){println("次构造函数开始执行...
class Student constructor(num: Int) { init { println("初始化代码块1 num ==$num") } init { println("初始化代码块2") } } 1. 2. 3. 4. 5. 6. 7. 8. 调用 var student = Student(1) 1. 打印 2022-01-05 22:22:04.920 28791-28791/com.example.kotlintest3 I/System.out: 初始化代...
初始化类的属性:在init块中可以对类的属性进行初始化,例如给属性赋初值或者根据其他属性计算初始值。 执行其他初始化操作:init块可以执行一些其他的初始化操作,例如连接数据库、加载配置文件等。 以下是一个示例代码,展示了init块的使用: 代码语言:txt 复制 class MyClass(name: String) { val greeting: String in...
*/classTest(num: Int){ ... } 1.2、构造函数中的初始化代码块 构造函数中不能出现其他的代码,只能包含初始化代码。包含在初始化代码块中。 关键字:init{...} 值得注意的是,init{...}中能使用构造函数中的参数 例: funmain(args:Array<String>){// 类的实例化,会在下面讲解到,这里只是作为例子讲解打...
init{ println("这里是初始化操作") }constructor(name:String, age: Int){ this.name = name this.age = age }} 主/次构造方法联合使用 类定义了主构造器,次构造器必须直接或间接调用主构造器; classStudent() {varname:String? =nullvarage:Int=0//这几个constructor是次级构造方法,,这里的this()就是当...
kotlin中普通类的声明和java中普通类的声明一致,即 class 类名 {} 声明。 类的成员 构造函数与初始化块 函数 属性 嵌套类和内部类 对象声明 构造函数及其初始化模块 构造函数 java 中类的声明后会自动创建一个无参构造方法,用于类的无参对象创建,可以创建对应的多个参数构造方法,构造方式即修饰符-类名-参数-构...
class Hello( // 主构造函数, 直接在主构造函数中定义属性 var name: String, // 该值是临时变量, 为 age 属性赋值 _age: Int ){ // 类中的属性 var age = _age var type = "老鼠" var gender: String init { println("init 初始化块开始执行") ...
classPerson(firstName:String) {/*……*/} 主构造函数不能包含任何的代码。初始化的代码可以放到以init关键字作为前缀的初始化块(initializer blocks)中。 在实例初始化期间,初始化块按照它们出现在类体中的顺序执行,与属性初始化器交织在一起: classInitOrderDemo(name:String) { ...
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("--...