学习kotlin笔记之二

kotlin学习笔记,第二部分笔记。

72、继承与重写、open关键字:
(1)kotlin所有的类默认都是final修饰的,不能被继承,和Java相反;同时,类里的方法默认也是final修饰的,不能被重写。
(2)若想被继承或重写,需要使用open关键字,移除final修饰。
在这里插入图片描述
73、类型转换:
(1)is:可以检查对象是否与特定的类型兼容(兼容:此对象是该类型,或者派生类)。类似Java中的instanceof。
(2)as:类型强转。
(3)子类可以转为父类,但是父类禁止转为子类。
在这里插入图片描述
在这里插入图片描述
74、智能类型转换:
(1)智能类型转换,即上面as一次后,后面一直记录着上面转换的类型。
(2)用父类接收子类,那么对象只能调用父类范围内的子类里面的方法。
(3)纯粹的子类(用子类接收子类),可以调用父类所有非私有的方法。
在这里插入图片描述
在这里插入图片描述
75、Any超类:
(1)Any == Java Object,在kotlin中,所有的类,都隐式继承了Any(),不写,默认都有。
(2)Any类在kotlin设计中,只提供标准,看不到实现,实现在各个平台处理好了。
在这里插入图片描述
76、对象声明:
(1)用object关键字声明的类,这个类是单例,同时类名即对象使用。
(2)由于单例,所以多次调用就创建一次,同时构造方法是私有的,这个类也就不能加()。
(3)因为构造方法是私有的,所以原来主构造时候调用的init()代码块,这里变为static块。
(4)类创建不写(),同时调用方法时,也是直接类名调用,不写()。
在这里插入图片描述
在这里插入图片描述
77、对象表达式:
(1)object : ,对象表达式可以对类或接口等,匿名的实现使用。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
78、伴生对象:
(1)伴生对象的由来:在KT中没有Java的这种static静态,伴生很大程度上和Java的这种static静态差不多。
(2)伴生对象只会初始化一次。
在这里插入图片描述
在这里插入图片描述
79、嵌套类:
(1)有inner修饰的是内部类,没有则是嵌套类。
(2)内部类特点:内部的类能访问外部的类;外部的类能访问内部的类。
(3)嵌套类特点:外部的类能访问内部的嵌套类;内部的类不能访问外部的成员。
(4)调用内部类,外部类需要加()。
(5)调用嵌套类,外部类没有()。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
80、数据类:
(1)数据类需要关键字data修饰,数据类比普通类在实现上更加丰富。
(2)当输出一个类对象时候,打印的是toString()方法返回的值。
(3)数据类比普通类多实现了equals()、toString()等方法。
在这里插入图片描述
在这里插入图片描述
81、copy函数:
(1)copy函数内部,就是用主构造new了一个自己本身。
(2)数据类内部重写copy()、toString()、hashCode()等等时,只管主构造,不管次构造。
(3)使用copy()时候,由于内部只处理主构造,必须考虑次构造的内容。
在这里插入图片描述
在这里插入图片描述
82、解构声明:
(1)解构顺序必须是component1 component2 … 和成员一一对应,顺序下来的,没有component0,必须从1开始。
(2)普通类解构,需要自己加上关键字operator。
(3)数据类,自动有解构。
在这里插入图片描述
在这里插入图片描述
83、运算符重载:
(1)plus代表 + 运算符重载。
(2)operator fun 之后随意输入单个字母,会提示相应的重载运算符的关键字。
(3)理解:下面println()里面的打印,不是两个类相加,可以看成是:println( AddClass2(1, 1).plus(AddClass2(2, 2)) ),后面那个 AddClass2(2, 2)是传入plus方法里的参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值