Kotlin开发Android笔记3:Kotlin中类与函数


—–类的定义—–

如果你想定义一个类,你只需要使用    class   关键字。
//如定义一个TestKotlin类
class TestKotlin{
}
它有一个默认唯一的构造器。当然可以创建额外的构造器,通常情况下我们只需要这个默认的构造器。
你只需要在类名后面写上它的构造参数,而且如果这个类没有任何内容可以省略大括号:
class Student(name: String, age:Int)
//那么构造函数的函数体在哪呢?你可以写在 init 块中:
class Teacher(name:String, age:Int) {
init{
//TODO
//在init中做构造方法要做的事情,比如初始化数据等
}
}

—–类继承—–
任何类在默认情况下都是继承自 Any (就如同java中所有类都是Object的子类),当然同java一样我们可以继承其它类。
但是在kotlin中所有的类默认都是不可继承的(相当于java中类有个性符final),因此只能继承那些明确声明为open或者为abstract 的类:

//定义一个open类Bird
open class Bird(name: String)
//定义一个类Duck继承自Bird
class Duck(name: String, surname: String) : Bird(name)//如果只有单个构造器时,需要在父类继承下来的构造器中指定需要的参数。来替换Java中super调用。

—-方法(函数)介绍——

函数,也是就我们说的方法在Kotlin中可以使用 fun 关键字定义:

//定义onCreate方法,没有指定返回值时,它就会返回Unit,与Java中的 void类似
fun onCreate(savedInstanceState: Bundle?) {
//TODO
}

Unit 是一个真正的对象。你当然也可以指定任何其它的返回类型:

fun add(x:Int,y:Int):Int{   
return x+y
}

如果返回的结果可以使用一个表达式计算出来,你可以不使用括号而是使用等 号:

fun add(x:  Int,y:  Int)    :   Int =   x   +   y

小提示:分号也不是必须的。当然 你也可以使用分号,分号不是必须的。

—-函数参数——
Kotlin中的参数与Java中有些不同。上面我们写的一些函数就可以发现:在()中先写参数的名字再写参数的数据类型:

fun add(x:Int,y:Int):Int{
return x+y
}

下面看下给参数指定一个默认值使得它们变得可选,这是非常有帮助的。这里有一 个例子,在Activity中创建了一个函数用来toast一段信息:

//我们指定length的值为Toast.LENGTH_SHORT
fun toast(message:String,length:Int =Toast.LENGTH_SHORT){ Toast.makeText(this,message,length).show()
//就等同于我们java的代码
Toast.makeText(this,message,Toast.LENGTH_SHORT).show();
}
调用的时候可以传入第二个值或者不传,这样可以避免你需要的重载函数:
toast("Hello") toast("Hello", Toast.LENGTH_LONG);

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com