美文网首页
Kotlin实战阅读笔记---4

Kotlin实战阅读笔记---4

作者: evaqin | 来源:发表于2018-07-05 11:11 被阅读16次

第四章:类、对象和接口

  • Kotlin的声明默认是final和public的。
  • 嵌套的类默认并不是内部类,他们并没有包含对其外部类的隐式饮用。
  • 没有final的override意味着是open的。
  • 抽象类中的非抽象函数并不是默认open的,但是可以标注为open。
  • 接口中的成员始终是open的。
  • final:不能被重写,类中成员默认使用。
  • internal修饰符:在同一模块中可见,在字节码中会变成public。
  • Kotlin中的protected:只在类和它的子类中可见。
  • 类的扩展函数不能访问private和protected成员。
  • 通用规则:类的基础类型和类型参数列表中用到的所有类,或者函数的签名重写都与这个类或函数本身相同的可见性。
  • 嵌套类:不存储外部类的引用;内部类:存储外部类的引用。
  • Java中:内部类隐式地存储了它的外部类的引用,将一个内部类声明为static(->嵌套类)会从这个类中删除包围它的类的隐式引用。
  • Kotlin中:没有显示修饰符的嵌套类与Java中的static嵌套类是一样的。想要变成一个内部类来持有外部类的引用需要使用inner来修饰。
  • 重写equals方法会怎样?什么东西被破坏了?问题在哪里?答:(通用的hashCode契约:如果;两个对象相等,他们必须具有相同的hash值)HashSet会先比较它们的hash值,只有他们相等时才会去比较真正的值。
  • data:类修饰符,重写所有Java标准方法
  • by:类委托,使用by关键字将接口的实现委托到另一个对象
  • object:可以用来定义单例
  • kotlin中的类不能拥有静态成员(伴生对象解决此问题
  • 伴生对象是一个声明在类中的普通对象,可以有名字、实现接口、或者有扩展函数或者属性。为了能够为类定义扩展,必须在其中声明一个companion object,即使是一个空的。

相关文章

  • Kotlin:定义和目的

    《Kotlin实战》阅读笔记——Kotlin:定义和目的 Kotlin简介 一种针对Java平台的新编程语言。Ko...

  • Kotlin实战阅读笔记---4

    第四章:类、对象和接口 Kotlin的声明默认是final和public的。 嵌套的类默认并不是内部类,他们并没有...

  • MySQL实战45讲阅读笔记-MVCC

    系列MySQL实战45讲阅读笔记-MySQL入门MySQL实战45讲阅读笔记-日志MySQL实战45讲阅读笔记-锁...

  • MySQL实战45讲阅读笔记-索引

    系列MySQL实战45讲阅读笔记-MySQL入门MySQL实战45讲阅读笔记-日志MySQL实战45讲阅读笔记-锁...

  • MySQL实战45讲阅读笔记-日志

    系列MySQL实战45讲阅读笔记-MySQL入门MySQL实战45讲阅读笔记-日志MySQL实战45讲阅读笔记-锁...

  • MySQL实战45讲阅读笔记-锁

    系列MySQL实战45讲阅读笔记-MySQL入门MySQL实战45讲阅读笔记-日志MySQL实战45讲阅读笔记-锁...

  • MySQL实战45讲阅读笔记-MySQL入门

    系列MySQL实战45讲阅读笔记-MySQL入门MySQL实战45讲阅读笔记-日志MySQL实战45讲阅读笔记-锁...

  • Kotlin实战阅读笔记---1

    第一章、Kotlin:定义和目的 1.Kotlin和Java都是静态类型的编程语言,这意味着所有表达式的类型在编译...

  • Kotlin实战阅读笔记---2

    第二章、Kotlin基础 此为代码块体函数。 注意:在kotlin中,if是个有结果的表达式。 语句和表达式的区别...

  • Kotlin实战阅读笔记---3

    第三章、函数的定义与调用 to并不是一个特殊的结构,而是一个普通函数,被称为中缀调用。 要允许使用中缀符号调用函数...

网友评论

      本文标题:Kotlin实战阅读笔记---4

      本文链接:https://www.haomeiwen.com/subject/aznuuftx.html