美文网首页
Android开发kotlin学习(一)

Android开发kotlin学习(一)

作者: _L丶丶 | 来源:发表于2019-03-25 18:49 被阅读0次
这篇主要讲的是kotlin中的基本类型定义和类的相关部分

1.Androidstudio环境搭建

这个就不多说了,网上很多,这里给个网址,可以参考http://www.runoob.com/kotlin/otlin-android-setup.html

2.定义常量与变量

kotlin的语法是和Java语法不一样的,先看下面这段话:

公式:
变量公式: var <标识符> : <类型> = <初始化值>
常量定义: val <标识符> : <类型> = <初始化值>

/**
* 常量  val = value  类似于Java的final,不可能重复赋值
* -运行时常量    val x = "HelloWorld"  运行时才能确定它的值
* -编译时期常量  const val x = "HelloWorld"  编译时,所有x的引用都将被替换成字面量(HelloWorld)
*/

/**
* 变量  var = variable
*
* -var x = "HelloWorld"  定义变量
* -var x = "ByeByeWorld" 再次赋值
*/

//常用数据类型的定义
val A : String = "abc"    可以写成  val A = "abc"  系统自动推断变量类型为String
val B : Int = 123
val C : Float = 123F
var D : Double = 123.0
var E : Boolean = true
var F : Long = 123L

ok,上面这些就是咱们会常用的数据类型,还有需要注意的事项.下面上一段代码:

val string : String = "abc"
val mstring : String = String(charArrayOf('a','b','c'))

fun main(args: Array<String>) {  //kotlin中的主函数入口就是这个main函数啦..

    println(string == mstring)     //kotlin中, == 符号,和Java中的equals有相同效果
    println(string === mstring)   //三个等号比较对象是否相同
    //kotlin的输出字符串模板
    val a : Int = 1
    val b  = 1
    println("$a + $b = ${a + b}")
}
看下输出的结果是啥:

这里有个字符串的模板,这个是比较简便的地方.

3.类

这个咱们慢慢来,怎么创建一个类?



OK了,创建好了,我又想给这个girl增加一点描述信息,比如,年龄性别姓名老一套吧...别问我为啥girl还需要性别,当代社会呀...



好了,又加上了,加上这些信息啥时候用呢,那就初始化的时候用吧,改怎么办?

constructor:类在构造的时候要调用,只有一个可以省略,这里是标准的写法,inint部分其实就是构造方法的方法体.

在往下来,现在想让女生继承一个父类,这个父类姑且为person,这个父类该怎么定义呢

//父类在被继承的时候需要open  所有类都继承自Any
open class person(var age:String,var sex:String,var name:String){
    init {
        println("new 了一个${this.javaClass.simpleName},ta年纪:$age,性别:$sex,名字:$name")
    }
}
//这时候girl类需要改成这样:
class girl constructor(age:String, sex: String, name:String): person(age,sex,name)

整体看下:

//父类在被继承的时候需要open  所有类都继承自Any
open class person(var age:String,var sex:String,var name:String){
    init {
        println("new 了一个${this.javaClass.simpleName},ta年纪:$age,性别:$sex,名字:$name")
    }
}

//继承自person
class girl constructor(age:String, sex: String, name:String): person(age,sex,name)

class 帅哥(性格:String,长相:String,声音:String) {
    init {
        println("new 了一个帅哥,他性格:$性格,长相:$长相,声音:$声音")
    }
}

fun main(args: Array<String>) {

    val Girl: girl = girl("20", "nv", "haha")//constructor类在构造的时候要调用,只有一个可以省略
    val 我膜拜的帅哥: 帅哥 = 帅哥("彪悍", "丑陋", "傻了吧唧")
    println(Girl is person)//判断Girl是否属于person

}

结果:


4.kotlin中如何定义方法(函数)

/**
 * - fun 方法名(参数):返回值类型{
 *         //方法体
 *   }
 *
 * */
  • ①有返回值的
//这是最基本的函数定义
fun add(a : Int,b : Int):Int{
    return a + b
}
//这个函数还可以简化吗?当然可以,如果一个函数只是返回表达式的值,可以直接等于就可以了:
fun add(a : Int,b : Int) = a + b//可以简化为这样
再举个例子
fun sayHello(person : String) = println("$person" + "说:Hello")


  • ②没有返回值的


    从图中也可以看出,按照标准的写法,这里的返回值类型是Unit,Unit代表的是无返回值,相当于Java的void,可以省略,可以写成这样:


  • ③不用函数名的函数:在kotlin中,如果用一个变量直接接受一个函数的返回值,那么这个函数是不需要加函数名的,例如:
var Int2Long = fun(x:Int):Long{
    return x.toLong()
}

在使用的的时候:


ok,这篇先写这么多,有问题欢迎指出,我是不会改的,啊哈哈哈哈哈哈........


相关文章

网友评论

      本文标题:Android开发kotlin学习(一)

      本文链接:https://www.haomeiwen.com/subject/yejbvqtx.html