Kotlin(三)
来源:互联网 发布:淘宝站外计销量的网站 编辑:程序博客网 时间:2024/06/05 20:33
怎么定义一个类
如果你想定义一个类,你只需要使用class关键字
class MainActivity{}
有一个默认唯一的构造器,只需要在类名后面写上它的参数。如果这个类没有任何内容可以省略大括号:
class Person (name: String, surname: String)
那么构造函数的函数体在哪呢?你可以写在init块中:
class Person (name: String, surname: String){ init{ }}
类继承
默认任何类都是基础继承自Any(与java中的Object类似),但是我们可以继承其它类。所有的类默认都是不可继承的(final),所以我们只能继承那些明确声明open或者abstract的类:
package com.zhoujian.kotlindemo/** * Created by zhoujian on 2017/5/19. */open class Animal(name:String){}
package com.zhoujian.kotlindemo/** * Created by zhoujian on 2017/5/19. */class Person (name: String, surname: String):Animal(name){ init { }}
函数
函数(我们Java中的方法)可以使用fun关键字就可以定义:
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) }
如果你没有指定它的返回值,它就会返回Unit,与Java中的void类似,但是Unit是一个真正的对象。你当然也可以指定任何其它的返回类型:
fun add(x:Int,y:Int):Int{ return x+y }
然而如果返回的结果可以使用一个表达式计算出来,你可以不使用括号而是使用等号:
fun sum(x: Int,y: Int) : Int = x + y
构造方法和函数参数
Kotlin中的参数与Java中有些不同。如你所见,我们先写参数的名字再写它的类型:
fun add(x: Int, y: Int) : Int { return x + y}
我们可以给参数指定一个默认值使得它们变得可选,这是非常有帮助的。这里有一个例子,在Activity中创建了一个函数用来toast一段信息:
fun toast(message: String, length: Int = Toast.LENGTH_SHORT) { Toast.makeText(this, message, length).show() }
如你所见,第二个参数(length)指定了一个默认值。这意味着你调用的时候可以传入第二个值或者不传:
toast("Hello") toast("Hello", Toast.LENGTH_LONG)
阅读全文
0 0
- Kotlin(三)
- Kotlin基本使用三
- Kotlin语法(三)
- 一周入门Kotlin(三)
- kotlin 基本语法(三)
- Kotlin编程之三
- Kotlin基础知识三
- Kotlin学习教程(三)
- Kotlin for Android(三)Kotlin数据类型
- kotlin学习笔记(三)
- Kotlin笔记(三)数据类型
- Kotlin Reference (三) Coding Conventions
- Kotlin一步一个脚印学习基础三
- kotlin学习笔记(三)
- kotlin 语法分析(三) -- 类引用
- kotlin的三目运算
- 一步步学习kotlin for android(三) kotlin省略findviewById
- Kotlin学习过程 三 Kotlin基础语法二
- 使用笔记:mysql与oracle进行sql查询时如何表示日期
- HTML5.1 新增的14项特性学习
- SSL握手过程实例分析
- json转map
- 安全框架--shiro
- Kotlin(三)
- Ubuntu14.04_64编译libiconv出问题 ./stdio.h:1010:1: error: 'gets' undeclared here (not in a function)
- Spring与集合
- 模板实现冒泡排序
- yum命令后出现libldap-2.4.so.2: cannot open shared object file
- eclipse debug URLClassPath.getLoader(int) file
- 命令行使用wget下载百度云资源
- debian 程序开机自动启动设置
- 做微信扫码支付接口,二维码图片显示的是二进制文件的解决方案