时间:2021-05-20
Kotlin基础教程之操作符与操作符重载
Kotlin操作符的使用方法与其他语言差不多,最大的特点就在于infix function call(事实上infixfunctioncall并不是操作符的特性,而是函数的特性)和操作符重载.
可以看到在Kotlin中大部分的操作符都与一个函数相对应,之所以这样做,大概是为了进行操作符重载.
Kotlin官方文档中强调"=赋值"操作在Kotlin中不是操作符,换句话说类似于x = y = z这样的连续赋值并不被允许(甚至赋值操作也不能和常规的表达式混合写).
我们知道在C++语言里面操作符就是一个函数,在Kotlin中也是如此.
至于infix function call,目前来看,如果在类中定义了只包含一个参数的函数,比如Int.plus(Int)函数是在Int类中定义,而且只有一个参数,那么这样的函数就可以简写.val x = 1.plus(1)可以简写为val x = 1 plus 1
上面的代码运行结果如下:
至于操作符重载,如下:
运行结果如下:
操作符重载并不能增加新的操作符,也不能改变操作符的优先级和结合性.
操作符的结合性(左结合,右结合)与Java相同,然而操作符的优先级官方文档并未给出,目前来看和Java并不完全相同,这主要是因为Kotlin中操作符和Java中性质并不完全相同.
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、什么是操作符重载操作符重载可以分为两部分:“操作符”和“重载”。说到重载想必都不陌生了吧,这是一种编译时多态,重载实际上可以分为函数重载和操作符重载。运算符
C++基础编程之十进制转换为任意进制及操作符重载最近学习C++的基础知识,完成十进制转换为任意进制及操作符重载,在网上找的不错的资料,这里记录下,实例代码:#i
本文实例讲述了Python中操作符重载用法。分享给大家供大家参考,具体如下:类可以重载python的操作符操作符重载使我们的对象与内置的一样。__X__的名字的
操作符的重载有一些规则:1.重载操作符必须具有一个类类型或枚举类型操作数。这条规则强制重载操作符不能重新定义用于内置类型对象的操作符的含义。如:intopera
(=)赋值操作符编译器为每个类默认重载了(=)赋值操作符默认的(=)赋值操作符仅完成浅拷贝默认的赋值操作符和默认的拷贝构造函数有相同的存在意义(=)赋值操作符注