Kotlin编程之类的介绍和使用
2017-05-31 15:41
225 查看
目录:
类定义
类的构造方法
类的实例
上篇介绍了源文件,这里详细介绍源文件中的类。
通过一个案例来了解类的声明,类的构造方法,如何创建类对象。
在一个源文件(.kt)中,编写一下代码:
输出结果:
类的声明形式:
不指定某个类型的类,可以省略
不指定类的主构造方法,可以省略
1. 主构造方法:
跟着在类名后面,
T是主构造方法的参数类型,t是参数名
主构造函数没有注解或可见性说明,则 constructor 关键字是可以省略。例如:
构造方法的作用是:初始化。
使用主构造方法中的参数,来初始化全局变量有以下三种方式:
通过init{} 代码块初始化全局属性。
直接在类中全局变量声明时候,引用:
最简单的方式,在主构造方法中声明全局变量:
使用类中主构造方法私有化:
用
类中主构造方法的参数设置默认值:
注意:在 JVM 虚拟机中,如果主构造函数的所有参数都有默认值,编译器会生成一个附加的无参的构造函数,这个构造函数会直接使用默认值。这使得 Kotlin 可以更简单的使用像 Jackson 或者 JPA 这样使用无参构造函数来创建类实例的库。
通过二级构造函数来创建类对象,调用相关方法:
最后,控制台上输出结果:
可知:
必需添加constructor关键字修饰
若是类的声明中有主构造方法,必需使用this(参数…)传递参数进行调用
相关资源:
Kotlin编程的源文件:http://blog.csdn.net/hexingen/article/details/72820445
Kotlin官方关于类的介绍(中文版):
https://huanglizhuo.gitbooks.io/kotlin-in-chinese/content/ClassesAndObjects/Classes-and-Inheritance.html
类定义
类的构造方法
类的实例
上篇介绍了源文件,这里详细介绍源文件中的类。
通过一个案例来了解类的声明,类的构造方法,如何创建类对象。
在一个源文件(.kt)中,编写一下代码:
package com.xingen.kotlin fun main(str:Array<String>){ //创建类对象,调用其方法 Test<String>("Kotlin中类的声明").test() } /** * 用class关键字声明一个类,且带有以下特征: * * 1. 泛型类<T> * * 2. 带有指定参数类型的主构造方法 constructor(str:T) * */ class Test<T> constructor(str:T){ //声明一个全局变量 var t:T /*** * init{} 代码块初始化全局属性 */ init { t=str } /** * 二级构造方法: * 1. 必需添加constructor关键字。 * 2. 若是类的声明中有主构造方法,必需使用this(参数...)传递参数进行调用。 */ constructor(t1: T, t2:T ) : this(t2) { var t3="${t1}和${t2}" //输出两个参数,t1和t2的信息 println(t3) } fun test(){ //输入信息 println(t) } }
输出结果:
Kotlin中类的声明
定义一个类:
用class关键字来声明类。
类的声明形式:
class 类名<某个类型> constructor (参数名:参数类型)。例如:
class Test<T> constructor(str:T){ }
不指定某个类型的类,可以省略
<T>。例如:
class Test constructor(str:String){}
不指定类的主构造方法,可以省略
constructor(str:T)。例如:
class Test{}
类的构造方法:
在Kotlin中类,可以有一个主构造函数和多个二级构造函数。1. 主构造方法:
跟着在类名后面,
constructor(t :T)表示。
T是主构造方法的参数类型,t是参数名
主构造函数没有注解或可见性说明,则 constructor 关键字是可以省略。例如:
class Test (str:String){}
构造方法的作用是:初始化。
使用主构造方法中的参数,来初始化全局变量有以下三种方式:
通过init{} 代码块初始化全局属性。
class Test<T> constructor(str:T){ var t:T /*** * init{} 代码块初始化全局属性 */ init { t=str } }
直接在类中全局变量声明时候,引用:
class Test<T> constructor(str:T){ var t=str }
最简单的方式,在主构造方法中声明全局变量:
class Test<T> constructor(val str:T){ //用val声明,作为成员属性 fun test(){ println(str) } }
使用类中主构造方法私有化:
class Test private constructor(){ }
用
private关键字修饰一个空的主构造方法。
类中主构造方法的参数设置默认值:
class Test (val str: String= "默认值"){ }
注意:在 JVM 虚拟机中,如果主构造函数的所有参数都有默认值,编译器会生成一个附加的无参的构造函数,这个构造函数会直接使用默认值。这使得 Kotlin 可以更简单的使用像 Jackson 或者 JPA 这样使用无参构造函数来创建类实例的库。
2. 二级构造方法:
class Test<T> constructor(str:T){ /** * 二级构造方法: * 1. 必需添加constructor关键字。 * 2. 若是类的声明中有主构造方法,必需使用this(参数...)传递参数进行调用。 */ constructor(t1: T, t2:T ) : this(t2) { //第二个参数,作为主构造方法中参数被传入 var t3="${t1}和${t2}" //输出两个参数,t1和t2的信息 println(t3) } }
通过二级构造函数来创建类对象,调用相关方法:
fun main(str:Array<String>){ //创建类对象,调用其方法 Test<String>("Kotlin中类的声明","Kotlin编程中的二级构造方法").test() }
最后,控制台上输出结果:
Kotlin中类的声明和Kotlin编程中的二级构造方法 Kotlin编程中的二级构造方法
可知:
必需添加constructor关键字修饰
若是类的声明中有主构造方法,必需使用this(参数…)传递参数进行调用
创建类的方法:
与Java相比较,创建类对象。不需要使用new关键字。//创建类对象,调用其方法 Test<String>("Kotlin中类的声明").test()
相关资源:
Kotlin编程的源文件:http://blog.csdn.net/hexingen/article/details/72820445
Kotlin官方关于类的介绍(中文版):
https://huanglizhuo.gitbooks.io/kotlin-in-chinese/content/ClassesAndObjects/Classes-and-Inheritance.html
相关文章推荐
- 使用SQLite编程的快速介绍
- 使用 SMS 编程的应用程序介绍
- iOS:Block 编程1--介绍与使用
- IOS学习之 网络编程(10)--简单介绍ASI框架的使用
- iOS多线程编程GCD介绍和使用
- 使用Atlas简化客户端Ajax编程(Atlas 介绍)
- LinuxC编程工具介绍(一)--gdb和make的使用
- C#多线程编程介绍——使用thread、threadpool、timer
- linux网络编程--网络编程的基本函数介绍与使用
- 漫谈并发编程(六):java中一些经常使用的并发构件的介绍
- C#多线程编程介绍——使用thread、threadpool、timer
- iOS编程--Xcode使用指南1--Xcode菜单介绍--Xcode
- gprof使用详细介绍 linux下c/c++编程
- shell脚本编程之for语句、if语句使用介绍
- shell脚本编程之for语句、if语句使用介绍
- 简单介绍使用WCF的Web编程模型开发REST风格的Web Service
- 简单介绍使用WCF的Web编程模型开发REST风格的Web Service
- 介绍.net 4.5 异步编程核心内容,如何使用Async和Await进行异步编程
- iOS多线程编程之(GCD)介绍和使用
- 使用Kotlin开发Android应用(I):简单介绍