美文网首页
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