We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No description provided.
The text was updated successfully, but these errors were encountered:
kotlin
主构造
次级构造
constructor
init
data class
object/componain object
sealed class
主/次 构造函数
kotlin中任何class(包括object/data class/sealed class)都有一个默认的无参构造函数 如果显式的声明了构造函数,默认的无参构造函数就失效了。 主构造函数写在class声明处,可以有访问权限修饰符private,public等,且可以省略constructor关键字。 若显式的在class内声明了次级构造函数,就需要委托调用主构造函数。 若在class内显式的声明处所有构造函数(也就是没有了所谓的默认主构造),这时候可以不用依次调用主构造函数。例如继承View实现自定义控件时,三四个构造函数同时显示声明。
class
object/data class/sealed class
private,public
View
init初始化代码块
kotlin中若存在主构造函数,其不能有代码块执行,init起到类似作用,在类初始化时侯执行相关的代码块。 init代码块优先于次级构造函数中的代码块执行。 即使在类的继承体系中,各自的init也是优先于构造函数执行。 在主构造函数中,形参加有var/val,那么就变成了成员属性的声明。这些属性声明是早于init代码块的。
kotlin中若存在主构造函数,其不能有代码块执行,init起到类似作用,在类初始化时侯执行相关的代码块。
var/val
特殊类
object/companion object是对象示例,作为单例类或者伴生对象,没有构造函数。 data class要求必须有一个含有至少一个成员属性的主构造函数,其余方面和普通类相同。 sealed class只是声明类似抽象类一般,可以有主构造函数,含参无参以及次级构造等。
object/companion object是对象示例,作为单例类或者伴生对象,没有构造函数。
object/companion object
data class要求必须有一个含有至少一个成员属性的主构造函数,其余方面和普通类相同。
sealed class只是声明类似抽象类一般,可以有主构造函数,含参无参以及次级构造等。
Sorry, something went wrong.
No branches or pull requests
No description provided.
The text was updated successfully, but these errors were encountered: