文档章节

Kotlin学习笔记

huiyun-yoyo
 huiyun-yoyo
发布于 2017/07/07 14:16
字数 528
阅读 32
收藏 0

————————————————————kotlin四大修饰符———————————————————

  • private :只有在包含声明的文件中可见
  • public :如果没有指定任何可见性修饰符,默认使用public,在任何地方均可见
  • internal :在同一模块中的任何地方可见
  • protected :在top-level中不可以使用,只有他的子类可见

——————————————————————变量———————————————————————

  • val : 不可变变量,相当于final。初始化赋值后就不可再更改了【private final int a = 0】
  • var: 可变变量,可多次赋值【private int a = 0】

—————————————————————构造函数——————————————————————

fun add  (x: Int,   y: Int)  : Int  =  x+y
  1. add 函数名称
  2. x: Int, y: Int 是add函数的参数
  3. :Int 在这里是指返回参数的类型,有时候也便是继承某类
  4. x+y 是add函数的函数体,即具体的执行逻辑,这里只有一行可以用‘=’连接,多行的话则用{}

———————————————————————数据类—————————————————————

data class + 类名 相当于Gsonfrom自动生成的对应类(Json返回的数据) 例如:
1.定义数据类

data class Person(var name:String, var age:Int)        //一句就好了,不用写get/set方法

2.创建实例

var person : Person = Person("john" , 34)                   //初始化

3.调用

这里输入代码

          println("name: ${person.name}, age: ${person.age}") //相当于get方法
          println("${person.toString()}")
          person.name = "rose"
          person.age = 21  //相当于set方法
          println("name: ${person.name}, age: ${person.age}")
          println("${person.toString()}")  //默认有toString的方法

07-07 11:48:44.016 1446-1446/cn.jhc.kotlindemo I/System.out: name: john, age: 34
07-07 11:48:44.016 1446-1446/cn.jhc.kotlindemo I/System.out: Person(name=john, age=34)
07-07 11:48:44.016 1446-1446/cn.jhc.kotlindemo I/System.out: name: rose, age: 21
07-07 11:48:44.016 1446-1446/cn.jhc.kotlindemo I/System.out: Person(name=rose, age=21)

———————————————————————占位符————————————————————— 一般用$加变量名即可,如果还有更复杂的操作则用${}在花括号里写操作

例子:【 name = “john”】【age = 21 】【 User.name= "rose" 】 kotlin的写法

 println("name: $name")                                
 println("age : ${age+1}")                                 
 println("name: ${user.name}")      

输出:

  1. name:john
  2. age:22
  3. name:rose

java写法

println("name:" + name);
println("age:" + age+1);
println("name:" + user.getName()); 

输出:

  1.         name:john 
    
  2.         age:22
    
  3.         name:rose
    

——————————————————————inner内部类——————————————————— 内部类调用外部的成员需要加inner

 class Outer{                                                                                
        private val bar :Int = 1                                                               
        class Nested{                                                                               
                fun foo() = 2                                                                                   
        }                                                                                                    
 }                                                                                                    
 class Outer{
            private val bar :Int = 1
            inner class Inner{
                         fun   foo() = bar
             }
  }
//调用:                                                              
     val demo1 = Outer.Nested().foo()                           
     val demo2 = Outer().Inner().foo()                            
//输出:
 2
 1

© 著作权归作者所有

共有 人打赏支持
上一篇: App保活
下一篇: selector
huiyun-yoyo
粉丝 1
博文 43
码字总数 33793
作品 0
瑞安
程序员
私信 提问
《Kotlin实战》学习笔记

第一章 定义和目的 kotlin的主要特征 目标平台:服务器端,Android及任何Java运行的地方 静态类型 函数式和面向对象 免费且开源 小结 fun关键字用来声明函数,val关键字和var关键字分别用来声...

newtrek
2017/11/13
0
0
一份关于 Java、Kotlin 与 Android 的学习笔记

JavaKotlinAndroidLearn 这是一份关于 Java 、Kotlin 、Android 的学习笔记,既包含对基础知识点的介绍,也包含对一些重要知识点的源码解析,笔记的大纲如下所示: Java 重拾Java(0)-基础知...

叶应是叶
2018/08/08
0
0
Kotlin in Action 学习笔记 (1)

Kotlin 是以俄罗斯圣彼得堡附近的一座岛屿命名 Kotlin 是一门全新的针对 Java 平台的新编程的语言,百分之百与 Java 兼容,它是一门静态类型的语言,并且支持类型推导 先从书中的第一段代码来...

realxz
2017/12/14
0
0
Kotlin 学习笔记(1)基本语法

Kotlin 学习笔记(1)基本语法 关于 Kotlin 的安装,Android studio 3.0及以上自带,其他的可以通过搜索插件 Kotlin 来进行安装。下面来说说有关 Kotlin 的语法。 以下是本人的学习笔记,入有...

tutu__oo
2017/06/07
0
0
kotlin学习笔记-异常好玩的list集合总结

不积跬步无以至千里,不积小流无以成江海 先看看Kotlin中for循环的遍历 kotlin和Java中的集合工具类 Java中集合及其工具类 Kotlin中Java中集合及其工具类 List MutableList Set MutableSet Ma...

codeGoogle
2018/07/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

多表查询

第1章 多表关系实战 1.1 实战1:省和市  方案1:多张表,一对多  方案2:一张表,自关联一对多 1.2 实战2:用户和角色 (比如演员和扮演人物)  多对多关系 1.3 实战3:角色和权限 (比如...

stars永恒
今天
7
0
求推广,德邦快递坑人!!!!

完全没想好怎么来吐槽自己这次苦逼的德邦物流过程了,只好来记一个流水账。 从寄快递开始: 2019年1月15日从 德邦物流 微信小app上下单,截图如下: 可笑的是什么,我预约的是17号上门收件,...

o0无忧亦无怖
昨天
7
0
Mac Vim配置

1.升级 vim   我自己 MacBook Pro 的系统还是 10.11 ,其自带的 vim 版本为 7.3 ,我们将其升至最新版: 使用 homebrew : brew install vim --with-lua --with-override-system-vim 这将下...

Pasenger
昨天
8
0
vmware安装Ubuntu上不了网?上网了安装不了net-tools,无法执行ifconfig?

1.重新设置网络适配器还是不行,如下指定nat 2.还需要指定共享网络,我是在无线环境下 3.无法执行ifconfig https://packages.ubuntu.com/bionic/net-tools到这个网站下载net-tools的deb文件...

noob_chr
昨天
4
0
解决SVN:E210007无法协商认证机制

svn:E210007 svn: Cannot negotiate authentication mechanism 执行下面代码即可 sudo yum install cyrus-sasl cyrus-sasl-plain cyrus-sasl-ldap...

临江仙卜算子
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部