文档章节

Kotlin学习笔记

huiyun-yoyo
 huiyun-yoyo
发布于 2017/07/07 14:16
字数 528
阅读 29
收藏 0
点赞 1
评论 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

© 著作权归作者所有

共有 人打赏支持
huiyun-yoyo
粉丝 1
博文 42
码字总数 33793
作品 0
瑞安
程序员
《Kotlin实战》学习笔记

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

newtrek ⋅ 2017/11/13 ⋅ 0

Kotlin in Action 学习笔记 (1)

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

realxz ⋅ 2017/12/14 ⋅ 0

Kotlin 学习笔记(1)基本语法

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

tutu__oo ⋅ 2017/06/07 ⋅ 0

Kotlin Weekly 中文周报 —— 16

Kotlin 开发中文周报 文章 Android 开发者的一些实用技巧。(github.com) Ravindra 在 DevfestAhm 2017 的演讲。 像 Kotlin 的专家一样测试 。(blog.karumi.com) 将 Kotlin 库发布到 jCente...

DoubleThunder ⋅ 2017/11/13 ⋅ 0

Kotlin 学习笔记(2)类和继承

以下是本人的学习笔记,入有任何不妥之处,随时欢迎拍砖指正。 谢谢 1. 类 Kotlin 中使用关键字 class 声明类 2. 构造函数 在 Kotlin 中类可以有一个主构造函数和一个或多个次构造函数 如果主...

tutu__oo ⋅ 2017/06/28 ⋅ 0

Kotlin学习笔记(二) 基本类型

1.Kotlin的基本数据类型 类型 位宽度 Double 64 Float 32 Long 64 Int 32 Short 16 Byte 8 2.与Java基本数据类型区别 Kotlin的基本数据类型不同于Java的基本数据类型,Kotlin中的基本数据类型...

JackyRiver ⋅ 05/30 ⋅ 0

Eyepetizer-in-Kotlin:一款简约的小视频app,带你走进kotlin

Google在今年的IO大会上宣布,将Kotlin作为Android开发的一级语言。作为紧跟潮流的弄潮儿,对kotlin稍做了解后,发现其有优秀的特性,所以就开始了学习,而Eyepetizer-in-Kotlin便是对kotli...

Ruheng ⋅ 2017/07/12 ⋅ 0

Kotlin学习笔记(三) 条件.循环

1.if条件判断 (1)直接赋值: 与java不同的是,kotlin的if条件判断后的结果可以直接赋值给一个变量,如下: (2)区间: 2.when 在kotlin中,when的用法与java中的switch...case的效果相同; 3.for循环...

JackyRiver ⋅ 05/31 ⋅ 0

推荐两份学习 Kotlin 和机器学习的资料

最近 Kotlin 和人工智能比较火,有不少同学留言问我怎么学习 Kotlin,怎么学习机器学习,今天就给大家推荐两份不错的学习资料。 1. Kotlin 学习资料 其实,在我看来最好的学习资料就是 Kotl...

stormzhangV ⋅ 2017/07/05 ⋅ 0

Kotlin 知识梳理(12) - 泛型类型参数

Kotlin 知识梳理系列文章 Kotlin 知识梳理(1) - Kotlin 基础 Kotlin 知识梳理(2) - 函数的定义与调用 Kotlin 知识梳理(3) - 类、对象和接口 Kotlin 知识梳理(4) - 数据类、类委托 及 object...

泽毛 ⋅ 2017/11/07 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CENTOS7防火墙命令记录

安装Firewall命令: yum install firewalld firewalld-config Firewall开启常见端口命令: firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-po......

cavion ⋅ 47分钟前 ⋅ 0

【C++】【STL】利用chromo来测量程序运行时间与日志时间打印精确到微秒

直接上代码吧,没啥好说的。头疼。 #include <iostream>#include <string>#include <ctime>#include <sstream>#include <iomanip>#include <thread>#include <chrono>using ......

muqiusangyang ⋅ 50分钟前 ⋅ 0

Mac环境下svn的使用

在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简...

故久呵呵 ⋅ 今天 ⋅ 0

破解公司回应苹果“USB限制模式”:已攻破

本周四,苹果发表声明称 iOS 中加入了一项名为“USB 限制模式”的功能,可以防止 iPhone 在连接其他设备的时候被破解,并且强调这一功能并不是针对 FBI 等执法部门,为的是保护用户数据安全。...

六库科技 ⋅ 今天 ⋅ 0

MyBtais整合Spring Boot整合,TypeHandler对枚举类(enum)处理

概要 问题描述 我想用枚举类来表示用户当前状态,枚举类由 code 和 msg 组成,但我只想把 code 保存到数据库,查询处理,能知道用户当前状态,这应该怎么做呢?在 Spring 整合MyBatis 的时候...

Wenyi_Feng ⋅ 今天 ⋅ 0

synchronized与Lock的区别

# <center>王梦龙的读书笔记第一篇</center> ## <center>-synchronized与Lock的区别</centre> ###一、从使用场景来说 + synchronized 是能够注释代码块、类、方法但是它的加锁是和解锁使用一......

我不想加班 ⋅ 今天 ⋅ 0

VConsole的使用

手机端控制台打印输出,方便bug的排查。 首先需要引入vconsole.min.js 文件,然后在文件中创造实例。就能直接使用了。 var vConsole = new VConsole(); vConsole的文件地址...

大美琴 ⋅ 今天 ⋅ 0

Java NIO之字符集

1 字符集和编解码的概念 首先,解释一下什么是字符集。顾名思义,就是字符的集合。它的初衷是把现实世界的符号映射为计算机可以理解的字节。比如我创造一个字符集,叫做sex字符集,就包含两个...

士别三日 ⋅ 今天 ⋅ 0

Spring Bean基础

1、Bean之间引用 <!--如果Bean配置在同一个XML文件中,使用local引用--><ref bean="someBean"/><!--如果Bean配置在不同的XML文件中,使用ref引用--><ref local="someBean"/> 其实两种......

霍淇滨 ⋅ 今天 ⋅ 0

05、基于Consul+Upsync+Nginx实现动态负载均衡

1、Consul环境搭建 下载consul_0.7.5_linux_amd64.zip到/usr/local/src目录 cd /usr/local/srcwget https://releases.hashicorp.com/consul/0.7.5/consul_0.7.5_linux_amd64.zip 解压consu......

北岩 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部