自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 kotlin中对类的探讨

ok,上面介绍了类,类的属性,下面来看类的行为-->成员函数(把类的每一个对象当成一个不同的个体来看,有属性,有行为,就好理解一点)那在类里,次=次构造函数可以编写函数体,但主构造函数不行,那我如何在初始化的时候编写点东西呢。由于调用次构造函数时候,会首先调用它引用的构造函数,这里它应用的是主构造函数。这样,在创建这个类的对象的时候就会在创建的时候自动执行初始化代码块里的内容。调用次构造函数的时候,会先调用this,所以在这他会先调用主构造函数。然后呢创建这个类的对象(记住,不同的对象对应的是不同的行为)

2026-10-22 15:13:26 346

原创 ESP32的开发环境(从Arduino IDE到 JetBrains IDEA)

到这一步安装过程中可能就会遇到一些报错,网上有很多的解决办法,但是我这边遇到报错之后开个梯子然后重装一遍基本上就很快装好了,自己装的时候可以开梯子试一试,如果还是不行,再去网上搜解决办法。然后编译试一下,我这里遇到一个小问题 我选择的“ESP32 Dev Module”这个通用配置,并没有定义 LED_BUILTIN 这个变量,手动设计一下就行了。这里,如果是看一些网课的老师,他们这里可能会说搜不到ESP32,然后给你链接去装到Files的perfermecce下面,然后才能搜到。

2026-10-19 13:42:06 298

原创 kotlin中对“基本类型”的探讨

Kotlin 编译器在语法检查时会认为:a 是 Int 类的实例(对象),所以你可以调用 a.toString()、a.inc() 等属于 Int 类的方法。在java中,有基本类型(int float 不是对象,存储在栈上)和引用类型(Integer Boolean 是对象,存储在堆上)而在kotlin中,没有java风格的基本类型,只有同一类型的“类类型”。如果你只是做局部变量的运算(比如 val a: Int = 5),编译器会把它编译成 JVM 的 int(基本类型),这样性能最高。

2026-10-17 15:36:47 69

原创 kotlin浅谈从高阶函数到inline noinline crossinline

这下是不是懂了,加上inline后能return的原因在这里,因为这里return可以找到age()了,那上述的return “no”为什么报红?因为它返回的是age(),但age没有声明返回类型(那就默认Unit),把“no”删了就行了。那再往上找,是不是return上面这个age()呢,那肯定又做不到,因为它传进来是个lambda表达式,怎么能跳出去来return age()呢,与return的定义就不符。通过上面了解了inline的非局部返回,即是inline的特权,也是inline的麻烦。

2026-10-08 14:26:12 556

原创 kotlin中函数类型变量,匿名函数,lambda函数浅谈

来分析一下,首先最后一个参数是函数类型,那lambda可以写小括号外面,但此时还有其他参数,那么就不能省略小括号,即。下面来看这种函数类型的参数到底怎么用(我理解这种变量其实就可以类似成函数来调用)那既然变量可以接收函数类型,那么函数参数应该也可以接收函数类型。上面提到了,函数可以接收函数类型的参数,这种函数称之为高阶函数。那在调用高阶函数的时候,自然就要把函数类型的变量作为实参给进去。实际上这个类型不仅仅可以使用基本类型,也可以是个函数类型。变量的函数类型的返回值的参数也可以是函数类型。

2026-10-06 21:31:49 11708

原创 kotlin中浅谈对变量的理解(var/var getter/setter)

更准确地说,val 代表的是“只读引用”:初始化之后,这个引用不能再被重新赋值指向别的对象,但这并不代表它所指向的对象本身不可变,甚至不代表它的值总是固定不变的。会输出“”调用get函数”并打印a的值,所以我理解的默认getter函数即return field。val 声明的是只读变量。这里的“只读”指的是不能在初始化之后再向其重新赋值(不意味着不可变)这两种写法的核心差异就在于变量是否可重新赋值,其实对于赋值最简单的理解就是。当然,对于val类型参数,是不具备setter的(因为是不可重新赋值的)

2026-10-05 17:13:07 5363

原创 kotlin中的top-level理解

对 TestKt.class 进行 decompile 操而得到的java代码。上的kotlin却支持top-level function。当然在纯kotlin中,假设你有两个文件,都在同一个包里。Java中的方法依赖类,不可独立存在,同样可以运行在。现在你的 Java 同事想调用它。注解的用途,可以给文件指定一个类名。假设你有个 Kotlin 文件。的功能来查看 Test。方法转化成了 Test。文件中是如何实现的呢。后,会生成 Test。文件(注意:Test。从而得到java代码。

2026-10-05 14:22:20 5490

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除