Kotlin 学习(一)——对象的声明与创建
2018-01-07 21:17
183 查看
1、val和var 的区别
var表示变量即和Java中变量的定义相同,val表示常量相当于Java中的final,下面举个例子:var number = 5 number = 10这里定义变量number = 5 ,然后又改变 number = 10;现在将修饰符改为val
这时将number改为10时就会报错"val cannot be reassigned",翻译为 val不能重新分配,相当于final的定义
2、变量的声明
var number : Int? number = 5
var number : Int? = 5字符串的声明:
var str :String ? = "AAA" var s : String ? = null对象的声明:
首先定义一个类User,具体类的定义在之后文章中会讲解,暂时只是说明对象的创建
data class User(val name: String, val id : Int) { private fun getUser() : User{ return User(name,id) } }现在我们来创建一个User的对象
var user : User? = User("Name",100)和上面的字符串的定义一样,有没有人想过User后面的?代表的意义?下面我们创建一个User的对象负值为空
这时发现无论是将之前创建的user负值为null,还是重新创建一个空对象,都会报错“Null can not be a value of a non-null type User” ,字面意思:null不能负值给非null型的对象,好像意思是非null的不可以负值为null,那如何设置为可以为null呢?对,就是这个神奇的“?”,现在我们将两个对象后面的?都填上,发现所有的报错都消失了,
所以在声明对象时就决定了这个对象的能不能为空了,声明常量也一样
val user : User ? = User("Name",100) val u : User ? = null
另外Kotlin会自动识别所属类,那之前的所有创建都可一简写为
var str = "AAA" var s = null val user = User("Name",100) val u = null
一些基本数据类型和类的对象的创建都如上面所说的步骤,下面我们来看看集合的创建,现在我们创建一个保存String类型的集合
var list = listOf<String>("A", "B", "C", "D") val stringList = listOf<String>("A","B")按照上面的所说,list创建时的类型String均可省略
var list = listOf("A", "B", "C", "D") val stringList = listOf("A","B")对象的声明和创建就写到这,此部分很简单,注意其中的几个注意点,自己试一遍基本都知道了,后面会继续更新Kotlin的方法和类的创建
相关文章推荐
- Kotlin学习之-5.11 对象表达式和声明
- Java学习笔记6. 对象的创建、声明与使用
- Kotlin学习(八): 对象表达式和声明(Object Expressions and Declarations)
- 《JavaScript高级程序设计 第三版》学习笔记 (四) 对象创建详解
- Javascript对象学习1 - 创建对象的几种方法
- 【Javascript】javascript学习 三十六 创建你自己的 JavaScript 对象
- C++学习笔记--对象创建
- 什么时候用new创建对象,什么时候用一般声明的形式
- Kotlin学习笔记(十)解构声明
- Effective Java学习笔记---创建和销毁对象
- Java学习笔记5:避免创建不必要的对象
- 两个类A和B,A创建的对象可以计算两个整数的最大公约数,B创建的对象可以求最好公倍数,B类中成员变量是A类声明对象
- JavaScript学习笔记6 面向对象之创建对象
- Spring学习心得(2)-- 创建对象的方式
- 微软企业库4.1学习笔记(六)创建对象
- JavaScript学习笔记-02对象创建方式
- 《Effective java》学习笔记 1 之 对象创建和销毁
- mabatis学习之前今日内容介绍 1、final 关键字 2、static 关键字 3、匿名对象 4、内部类 5、包的声明与访问 6、访问修饰符 7、代码块 第一节课 ###01(面向对象)fin
- 类的声明和对象的创建
- php学习笔记 类的声明与对象实例化