Kotlin学习记录(二)—— Kotlin的变量、属性、类、构造函数、继承、方法
来源:互联网 发布:surge mac怎么用 编辑:程序博客网 时间:2024/05/17 23:09
接上篇:搭建环境到输出Hello World!
变量和属性:
对于Kotlin来说,一切都是对象。听起来和Java一样啊,万物皆对象!不,不,不,是一切都是对象,包括原始基本类型。
当然,基本类型还是存在的,而且他们的使用方式和名字和Java都差别不大,但是都是作为一个对象存在的,而且还是有一些不同之处需要注意的,比如:数字类型不能自动转换,需要做明确的类型转换。
例:
val i:Int=100val d:Double=i.toDouble()
变量的声明:
Kotlin中变量的声明,通过关键字:var / val。两者是有区别的,var就和Java中正常的声明变量是一样的,变量的值可以被更改。val就是相当与final了,断子绝孙咯~
需要说的是,尽可能的使用val,因为val是线程安全的,因为无法改变,也不需要去定义访问控制,所有线程访问到的对象都是同一个。
语法:var/val 变量名:类型 = 值
val a:Any = 666//any相当于Java的Object
当然Kotlin的变量声明是可以自主识别类型的,比如:
val i=123 //Int类型val s="abcdef" //String类型val f=2.2F //Float类型val context=this //上下文文本 ...
属性:
这点和Java是相同的,但是更强大、简洁。
Java中一个实体是这样的:
public class entity { private String s; public String getS() { return s; } public void setS(String s) { this.s = s; }}
Kotlin对应的代码是这样的:
public class Entity { var s:String=""}
没啦,就这样就完事了,使用的时候是这样的:
val entity =Entity()val ss= entity.sentity.s="abcdef"
是不是简洁到没朋友。
类、构造函数、类继承:
类的定义,需要用到class关键字
class Xixili() {}
class的属性修饰符有:
final:标示类不可被继承,默认属性
abstract:抽象类标示
enum:标示类为枚举
open:类可继承
annotation:注解类
如果需要构造函数是这样的:
class Xixili(name: String , age: Int) {}
构造函数的函数体在这里写:
class Xixili(name: String , age: Int) { init { //函数体 }}类的继承,通过“:”。
默认所有的类都是继承Any(和Java中的Object类相似)的。而且类默认的修饰符是final,不可继承的。所有,如果我们想要让别的类继承,就需要声明类为open或者abstract。例:
open class Father(gender: String)class Sun(gender: String , name: String) : Father(gender)
我们需要在sun中指定Father需要的参数gender,相当于Java中的super。方法:
可以使用“fun”关键字定义:
fun methodTest(params: String){ }
这是一个没有返回值,含有一个String类型的params参数的方法。会返回Unit,与Java中的void类似,但是Unit是一个真正的对象。当然也是可以指定其他任何类型的返回值:fun methodTest(params: String) : Any { return params}而且如果返回的结果可以直接给出的话,可以不使用括号,直接使用等号:
fun methodTest(params: String) : Any = params+"abcdef"
方法中参数体也是可以这样写的:
fun myToast(message: String , code: Int = Toast.LENGTH_SHORT){ Toast.makeText(this,message,code).show()}
使用的时候,第二个参数就变成了可选择的:
myToast("lalala")myToast("lalala",Toast.LENGTH_LONG)
简单的东西就说这些啦,很多东西后续的文章再详细描述。
Kotlin学习记录(三)—— 子线程获取数据,实现简单ListView
- Kotlin学习记录(二)—— Kotlin的变量、属性、类、构造函数、继承、方法
- Kotlin Reference (五) 类的构造函数,类的继承,属性操作
- kotlin的 类,继承,重载,抽象类,构造函数
- android Kotlin 继承、派生、接口、构造方式,方法、属性重写
- kotlin 学习记录 基本语法 (4 类和继承)
- kotlin学习笔记——类型、变量、属性
- Kotlin——程序的灵魂组成之变量、属性和函数的基本语法(一)
- Kotlin——继承
- kotlin学习(二)
- Kotlin学习(二)
- Kotlin学习(二)Hello Kotlin
- kotlin的变量和函数
- android使用kotlin开发基础(二)变量跟属性
- Kotlin开发之旅《二》—Kotlin的基本语法
- kotlin学习笔记——委托属性
- Kotlin学习(学习kotlin的日子)
- Kotlin学习笔记(二)——示例篇二
- Kotlin 变量和属性
- java集合之Map家族
- JavaMelody应用监控
- git 删除文件操作
- [Leetcode] 172. Factorial Trailing Zeroes 解题报告
- Eclipse-自动补全提示
- Kotlin学习记录(二)—— Kotlin的变量、属性、类、构造函数、继承、方法
- 第6课
- proc文件
- undefined reference问题总结
- bzoj 3512 DZY Loves Math IV
- Hash表 Hash算法 的介绍与思考
- EasyX实现俄罗斯方块(加BGM版)
- #HDU4719#Oh My Holy FFF(DP+线段树优化)
- Salesforce检查某字段前后是否被更改的方法