当前位置: 首页 > news >正文

建设建材网站费用河北购物网站开发公司

建设建材网站费用,河北购物网站开发公司,公司网站建网,怎么建网站赚钱类 构造函数 主构造函数:主构造函数是类头的一部分,它跟在类名后面。主构造函数没有函数体,它可以包含初始化代码和属性声明。初始化块:init关键字修饰,它直接写在类体中。它的执行顺序与它们在类体中的出现顺序一致。 次构造函数:次要构造函数是可选的,用于提供额外…

构造函数

主构造函数:主构造函数是类头的一部分,它跟在类名后面。主构造函数没有函数体,它可以包含初始化代码和属性声明。初始化块:init关键字修饰,它直接写在类体中。它的执行顺序与它们在类体中的出现顺序一致。

次构造函数:次要构造函数是可选的,用于提供额外的构造方式。次要构造函数必须直接或间接地调用主构造函数。

fun main() {val person = Person("Kevin", 21) //输出:Person object createdval person2 = Person2("Kevin") //输出:Person2 object created Person2 is: Kevin
}//主构造函数:主构造函数在类头中声明,它跟在类名与可选的类型参数后。
class Person(val name: String, var age: Int) {//初始化块中的代码实际上会成为主构造函数的一部分init {println("Person object created")}
}//次要构造函数:类也可以声明前缀有 constructor的次构造函数
class Person2 {private var name: String = ""private var age: Int = 0init {println("Person2 object created")}// 次构造函数constructor(name: String) {this.name = nameprintln("Person2 is: $name")}// 主构造函数constructor(name: String, age: Int) {this.name = namethis.age = age}
}

创建类的实例

创建一个类的实例,只需像普通函数一样调用构造函数。

fun main() {val person = Person("Kevin", 21) //输出:Person object createdval person2 = Person2("Kevin") //输出:Person2 object created Person2 is: Kevin
}//....

类成员

主要包括:构造函数与初始化块(本文第一小节)、函数、属性、嵌套类/内部类、对象声明部分。

属性

  • 属性可以用关键字 var 声明为可变的, 也可以用关键字 val 声明为只读的;

  • Getter 与 Setter:1.可变属性默认提供Getter 与 Setter。只读属性不允许 setter;2.可以自定义访问器。

  • 编译期常量:使用 const 修饰符将其标记为编译期常量。必须位于顶层或者是 object 声明伴生对象的一个成员;必须以 String 或原生类型值初始化;不能有自定义 getter。

  • 延迟初始化属性和变量:lateinit修饰符可以用于延迟初始化属性。允许你将其初始化推迟到第一次使用时。比如:属性的值无法在构造函数中立即确定的情况下。它只适用对象的创建或计算,而不适用于基本数据类型(如Int、Boolean等)。基本数据类型的值可以在声明时直接进行初始化。延迟初始化也可以使用by lazy修饰。

//编译期常量:必须位于顶层或者是 object 声明 或伴生对象的一个成员;必须以 String 或原生类型值初始化;不能有自定义 getter
const val HELLO_KOTLIN = "Hello, Kotlin"
fun main() {val rectangle = Rectangle(3, 4)println(rectangle.area) //输出:12rectangle.printName() //输出:not init// 使用 `lateinit` 修饰符时,需要确保在首次使用之前对属性进行初始化;// 否则会抛出 `UninitializedPropertyAccessException` 异常。rectangle.initializeName()rectangle.printName() //输出:init, name is Johnrectangle.printName2() //输出:John
}class Rectangle(private val width: Int, private val height: Int) {//延迟初始化1:lateinit var,lateinit修饰符可以用于延迟初始化属性lateinit var name: String//延迟初始化2:by lazy// lazy 是 Kotlin 标准库提供的一个函数,可以用于延迟初始化属性。它接收一个 lambda 表达式作为参数,在第一次访问属性时执行 lambda 表达式,并将结果作为属性的值返回。private val name2: String by lazy {"John"}//自定义getter:如果定义了一个自定义的 getter,那么每次访问该属性时都会调用它。val area: Int get() = this.width * this.heightinit {println(HELLO_KOTLIN)}fun initializeName() {name = "Rectangle"}fun printName() {//检测一个 lateinit var 是否已经初始化过,请在该属性的引用上使用 .isInitializedif (::name.isInitialized) {println("init, name is $name")} else {println("not init")}}fun printName2() {println(name2)}
}
latei
http://www.yayakq.cn/news/940282/

相关文章:

  • 公司网站维护如何上图html导航栏模板
  • 潍坊中脉网站建设制作网页一般需要兼容哪些软件
  • 四川网站建设贴吧黄岩网站建设兼职
  • 网站优化报表网站建设工作经历
  • 中国传统文化网站设计素材树莓派上怎么做网站
  • 定制跟模板网站有什么不一样django 做网站 原理
  • 中文域名 怎么做网站猎奇网站模板
  • 怀化优化网站排名违法网站怎么做安全
  • 网站自己做还是找人做运城有做网站设计
  • 销售型企业网站建设应遵守的原则网络宣传网站建设
  • 做网站用方正字体可以额的wordpress主题设计
  • 做网站 郑州公司哪家好外国网站建设公司
  • 建站公司用wordpress域联网站建设
  • 贵金属企业网站源码平台建设费用包括哪些
  • 公司推广发帖网站怎么做厦门网站建设推广
  • 模板下载网站织梦模板网站建设销售怎么做
  • 做网站学什么软件合肥seo外包平台
  • 哪里网站建设公司比较好庆阳网页设计背景
  • 公司网站建设需要的材料网站开发与维护介绍
  • wordpress的站点地址如何配置网页设计如何换行
  • 企业网站建设网站有哪些三牛网络推广
  • 做网站哪个最好做得好的网站建设公司
  • 百度网盟有哪些网站专业网站设计的公司
  • 平面设计软件下载网站北京城乡建设和住房门户网站
  • 什么建站程序好收录临沂市开发区可以做分销的网站
  • 廊坊网站建设如何搭建asp网站
  • 巢湖自助建站系统开发app和网站建设那个好些
  • 网页制作的网站全网营销型网站建设公司
  • 青浦专业网站建设宿迁房产查询网上查询系统
  • 网站服务器建设合同山西省建设厅网站首页