代码编织梦想

kotlin和Java的构造函数差异还是有点大,这里记录下对于kotlin构造函数传参的理解;

一、java构造函数有几个参数,调用方就要传几个,且不能设置默认值,而kotlin就大不一样,

比如下面代码:

data class Person(
    private val head: String,
    val hand: String,
    val foot: String = "foot"
) {
    
}

构造函数Person可以设置默认值,如果设置了默认值,调用方就可以不用传入该参数的值,如下图:

 编译器并没报错;

二、kotlin,调用构造函数时,可以用 “参数名=参数值” 的形式传参,这样可以忽略参数位置,如下图:

好了,又可以愉快玩耍了。

相关文章:

kotlin 解决构造函数兼容性问题_Alex老夫子的博客-CSDN博客

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/msn465780/article/details/131159623

kotlin的默认参数和具名参数_一醉南柯的博客-爱代码爱编程_kotlin参数可有可无

Kotlin的默认参数和具名参数: 默认参数 函数参数可以有默认值,当省略相应的参数时使用默认值。与其他语言相比,这可以减少重载数量。 fun read(b: Array<Byte>, off: Int = 0, len: Int = b.size()) { …… } Kotlin 默认值通过类型后面的 = 及给出的值来定义。

kotlin教程(四)可空性_weixin_34292959的博客-爱代码爱编程

写在开头:本人打算开始写一个Kotlin系列的教程,一是使自己记忆和理解的更加深刻,二是可以分享给同样想学习Kotlin的同学。系列文章的知识点会以《Kotlin实战》这本书中顺序编写,在将书中知识点展示出来同时,我也会添加对应的Java代码用于对比学习和更好的理解。 Kotlin教程(一)基础Kotlin教程(二)函数Kotlin教程(三)类、对

kotlin中的可空性解读-爱代码爱编程

参数传入可空性 可空性是kotlin类型系统为了避免发生NullPointerException错误的特性. 如下一段java代码 /*Java*/ int strLen(String s){ return s.length(); } 复制代码 如果调用的时候我们这样去调用strLen(null), 这样一定会抛出NullPoint

Kotlin上手教程一、构造函数-爱代码爱编程

构造函数 class Person( name: String="Tom") { constructor(age:Int) : this() { //如果这个构造函数不传主构造的参数, 就必须手动传一个参数或者 主构造设置默认参数, 但是这里是得不到name属性,因为主构造函数最先执行 println("cons

Kotlin 语言学习(6) - Kotlin 的可空性-爱代码爱编程

Kotlin 语言学习(1) - Kotlin 基础 Kotlin 语言学习(2) - 函数的定义与调用 Kotlin 语言学习(3) - 类、对象和接口 Kotlin 语言学习(4) - 数据类、类委托 及 object 关键字 Kotlin 语言学习(5) - lambda 表达式和成员引用 Kotlin 语言学习(6) - Kotlin 的

kotlin语法学习之动态个数参数,?:语法和let,run,with,apply,also用法-爱代码爱编程

package com.example.kotlin class Test2 { /** * 动态个数参数 * vararg * 数组多个元素传入函数的变长参数需要在数组名前加 * 号 */ fun test1(vararg name: String) { for (item in name) { println(ite

Kotlin传递函数作为参数的方式-爱代码爱编程

Kotlin传递函数作为参数,可以有:命名参数,位置参数以及在参数列表外,以lamba的形式传递。 示例 data class Person(val name: String,                   val age: Int = 0,                   val showMsg : (msg: String) -> 

kotlin学习笔记——变量、可空与非空-爱代码爱编程

Kotlin入门学习笔记基础篇(二) 可缺省参数默认值、可空参数与java重载注解显式类型转换打印不同的进制 可缺省参数默认值、可空参数与java重载注解 java中的重载,在kotlin中通过为可缺省参数提供默认值来实现,添加@JvmOverloads注解是为了转换成java代码时,自动生成重载函数,kotlin中为可缺省参数提供默认值写法

【Kotlin学习】Kotlin的类型系统——可空性-爱代码爱编程

可空性 它是kotlin类型系统中帮助你避免NullPointerException错误的特性。 可空类型 kotlin和java类型系统第一条也可能是最重要的一条区别:kotlin对可空类型的显式的支持,这是一种指出你的程序中哪些变量和属性允许为null的方式。如果一个变量可以为null,对变量的方法的调用就是不安全的,因为这样会导致空指针异常,k

Kotlin函数参数-爱代码爱编程

一、无参数的函数参数 1、回调 //定义 interface OnClickListener { fun onClick() } private fun setOnClickListener(listener: OnClickListener) { } //使用 setOnClickListener(object : OnClickLis

kotlin高阶函数(1)——将函数作为参数传递-爱代码爱编程

kotlin高阶函数(1)——将函数作为参数传递 问题背景 kotlin语言中,有个高阶函数的概念,那么什么是高阶函数呢? 高阶函数的定义:一个函数如果参数类型是函数或者返回值类型是函数,那么这就是一个高阶函数。 现在我们来看第一个:Kotlin 支持函数作为参数传递,无需构建对象来包装函数。 问题分析