Kotlin编程之类的介绍和使用
来源:互联网 发布:c# socket接收数据 编辑:程序博客网 时间:2024/06/05 20:42
目录:
- 类定义
- 类的构造方法
- 类的实例
上篇介绍了源文件,这里详细介绍源文件中的类。
通过一个案例来了解类的声明,类的构造方法,如何创建类对象。
在一个源文件(.kt)中,编写一下代码:
package com.xingen.kotlinfun 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
- Kotlin编程之类的介绍和使用
- Kotlin编程之类的属性
- Kotlin编程之类、对象和接口
- Kotlin之类和对象
- Kotlin之类和对象
- Kotlin 学习之类和继承
- 【Kotlin从入门到深坑】之类的属性和字段
- 【Kotlin从入门到深坑】之类的属性和字段
- Kotlin协程介绍和使用入门
- kotlin学习四之类和继承
- Kotlin 官方学习教程之类和继承
- Kotlin的配置和使用
- 【Kotlin从入门到深坑】之类的覆盖属性和方法以及抽象类
- Kotlin 前言和介绍
- c++编程之类和对象
- 【kotlin从入门到深坑】之类和继承
- kotlin基础笔记之类、接口、函数和基本语法
- Java之类的主动使用和被动使用
- jsp导出excel
- Android几种常见的多渠道(批量)打包方式介绍
- iOS ijkplayer 音视频同步
- angularJs过滤器(货币转换,大小写,字数限制,日期)
- Go语言二维数组的传参
- Kotlin编程之类的介绍和使用
- 面试的角度诠释Java工程师(一)
- RSA 加密-重写base64 适用于反射
- VMware中解决ubuntu不能连接网络问题
- CListCtrl使用
- OpenCV使用FindContours进行二维码定位
- IBM Websphere MQ _01 基本操作
- Web Moudle
- java初学者最关心的五个问题