举个例子
1 | open class Person { |
新建一个Person类,有三个属性,重写了toString方法。
这里有个关键字open,只有用open标识的类才能被继承。
1 | var person1 = Person().let { |
上面打印的结果:
person1——let——10
person2——run——20
person3——also——Person(张武also)
person4——apply——Person(张柳apply)
总结:
- let,run以最后一行的结果为返回值;also,apply返回对象本身。
- 在他们的方法体中,let,also用it代指本身;run,apply用this代指本身。
PS:充分了解他们的用法,以及返回值的区别,可以实现链式调用实现功能模块,使代码清晰,一目了然。