当前位置: 首页 > news >正文

河池建设银行招聘网站福州网站设计招聘

河池建设银行招聘网站,福州网站设计招聘,响应式布局网站开发,营口旅游网站开发Kotlin简介 2011年7月#xff0c;JetBrains推出Kotlin项目#xff0c;这是一个面向JVM的新语言 2012年2月#xff0c;JetBrains以Apache 2许可证开源此项目。 2016年2月15日#xff0c;Kotlin v1.0发布#xff0c;这被认为是第一个官方稳定版本。 在Google I/O 2017中JetBrains推出Kotlin项目这是一个面向JVM的新语言 2012年2月JetBrains以Apache 2许可证开源此项目。 2016年2月15日Kotlin v1.0发布这被认为是第一个官方稳定版本。 在Google I/O 2017中Google宣布在Android上为Kotlin提供最佳支持取代java成为官方开发语言。 函数和变量 kotlin中的函数和变量可以直接声明在文件中 使用fun关键字声明函数 使用var关键字声明变量可读可写变量 使用val关键字声明只读变量不可修改相当于java中的final 创建对象只需调用构造器即可不需要java中的new关键字 fun main(){var age:Int 18 }fun doubleNumber(x:Int):Int{return x*2 }声明一个数组使用arrayOf关键字 private val studyList arrayOf(语文,数学,英语)静态函数 比如工具类中常用的dp2px() 直接写在Util.kt文件中 private val displayMetrics Resources.getSystem().displayMetrics fun dp2px(dp:Float):Float{return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,dp,displayMetrics) }那么在kotlin中调用的时候直接dp2px(15f)即可。在java中调用使用Utilkt.dp2px(15f)需要在文件名后边加上kt后缀 2. 使用object关键字声明 object Util{private val displayMetrics Resources.getSystem().displayMetricsfun dp2px(dp:Float):Float{return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,dp,displayMetrics)} }在kotlin中调用Util.dp2px(15f)在java中调用Util.INSTANCE.dp2px(15f) 使用object关键字声明相当于创建了一个类的单例对象 使用companion关键字 伴生对象 比如application class BaseApplication : Application(){companion object{private lateinit var currentApplication: Contextfun currentApplication():Context{retun currentApplication}}override fun onCreate(){super.onCreate()currentApplication this} }在kotlin中调用BaseApplication.currentApplication()然后在java中调用BaseApplication.Companion.currentApplication() 类 依然使用class关键字声明一个类 class User{var name:String?null//set,get方法要紧跟成员变量且里边要使用field关键字//set,get方法默认可以不写set(value){field value}get(){field}constructor(){}constructor(name: String?){this.name name} }继承和实现接口只需要一个冒号:不同的是继承的类需要加上一个括号()。 class MainActivity:AppcompatActivity(),View.OnClickListener{... }但是需要注意的是如果在类中显式声明了构造器就不能加上这个括号() 在调用父类的构造器或者本类中其他构造器都要使用:比如 class MyView : View {constructor(context:Context):this(context,null){}constructor(context:Context, attr:AttributeSet?):super(context,attr){} }另外对一个类成员的setget方法的访问可以直接使用.成员变量名的方式: user.name xxxxxx //进行赋值相当于调用了setName()方法如果是在java中去调用不能使用user.name只能使用其set,get方法。但是如果使用某一个成员变量需要在kotlin中声明这个变量的时候使用JvmField注解 JvmField var name:String?null匿名内部类 创建一个一个匿名内部类需要object关键字 比如 call.enqueue(object:Callback){override fun onResponse(call:Call, response:Response){}override fun onFailure(call:Call, e:IOException) }另外在内部类中使用外部类的成员变量在java中为Class.this.xx在kotlin中要使用thisClass.xx 静态内部类 静态内部类可以直接在一个类中使用class声明一个内部类这个类可以使用伴生对象如果要使用普通的嵌套内部类则需要inner class去修饰 另外internal关键字可以去修饰类和方法表示当前module可见别的module不可见 接口和抽象类枚举类 接口(interface xxx)和抽象类(abstract class xxx)的声明与java中相同 但是枚举类不一样 class SdutyList{enum class Type{MATH{...}} }kotlin中的类默认都是被final关键字修饰的不能被继承方法不能被重写如果想要一个类可以被继承需要使用abstract关键字修饰方法需要使用open修饰才可以重写。 判断语句 if 和 when if(code in 100..199){} //表示code是否在100到199双闭区间另外使用when关键字相当于java中的switch when (code){//这里可以支持表达式in 100..199-{}in 200..299-{}else-{} }遍历和循环 遍历 除了常规的for遍历一个数组或者集合 //比如有一个users的集合 var passUsers ArrayListUser() for(user in users){if(user.age 18){passUsers.add(user)} } 可以使用kotlin提供的操作符去简化上述代码 //使用forEach操作符 users.forEach({user:User-if(user.age 18){passUsers.add(user)} }) //如果forEach()中接收的参数只是一个lambda表达式可以将{}提到括号外边且括号可以省略 users.forEach{user:User-if(user.age18){passUsers.add(user)} } //另外也可以使用类型推断不用声明user的类型 users.forEach{user-if(user.age18){passUsers.add(user)} } //最后如果一个lambda表达式只有一个参数那么这个参数可以省略不写而会有一个默认的隐式参数it:User users.forEach{if(it.age18){passUsers.add(it)} }还有这个例子中相当于过滤一些user只要符合条件的user那么可以使用filter操作符来简化 //这里直接过滤出年龄大于等于18的用户 passUsers.add(users.filter{ it.age 18 })循环 使用repeat关键字 //注意这里是一个隐式参数it:Int repeat(100){println(it) }for-i循环 for(i in 0..99){println(i) }集合 使用库函数listOf()或者mapOf()使用对象 var studyList:ListLesson ArrayList(); var map:MapInt, String HashMap()但是需要注意的是上面所创建的集合元素都是不可修改的无法进行增删 所以如果需要元素可变一般使用: arrayListOf(),mutableListOf(),mutableMapOf(),hashMapOf()var studyList:ArrayListLesson new ArrayList() kotlin中的类系统 JavaKotlinObjectAnyvoidUnit kotlin中基本数据类型 Kotlin基本数据类型位宽度Char(字符型)Boolean(布尔类型)Byte8(字节型)Short16(短整型)Int32(整型)Long64(长整型)Float32(浮点型)Double64(双精度浮点型) 变量的可空控制 kotlin中将变量分为可空和不可空两种类型。 //这里的user是一个不可空类型如果赋值为null则会报错 var user:User //这里的user是一个可空类型需要加一个问号? var user:User?null;那么如果想要调用一个可空类型的变量有两种方式 user!!.getName() //表示强制调用不管是否为null user?.getName() //表示安全调用如果不为null才调用虽然这里可以避免空指针但是user为null肯定是有问题的希望在编写代码的时候早发现这些问题。 一个错误的示例 fun a(name:String){... } a(user?.getName()!!)
http://www.hkea.cn/news/14555008/

相关文章:

  • 网站平台维护软件开发公司地址
  • 买空间域名做网站创建免费论坛的10个网站
  • 做网站找哪家房产证查询系统官方网站
  • 襄阳品牌网站建设微信小程序在哪里登录
  • 做app网站需要什么如何做招聘网站的对比
  • 网站建设与管理总结心得做外汇网站代理商
  • 贵阳做网站做得好的263企业邮箱官网登录
  • 自己有网站 做app吗婺源网站建设
  • 网站移动端和PC端自适应怎么做项目管理软件 project教程
  • 0建设营销型网站步骤介绍微信公众号商城怎么开通
  • 网站建设品牌有哪些wordpress登录后搜索
  • 舟山建设银行网站网络工程培训网络班
  • 北京招聘高级网站开发工程师机械设备网站
  • 太原网站改版机械加工网站平台
  • 搬瓦工 做网站jsp借书网站开发
  • 营销网站中最重要的部分是黄石城乡建设网站
  • 有哪些做任务的网站什么网站可以做认证
  • 做网站设计的需要什么材料单页关键词优化费用
  • 网站建设如何自学商城系统的基本
  • 网站域名是什北京注册公司核名网站
  • 设计 微网站网站的后台一般用什么做的
  • 手机网站底部导航菜单无限看片的视频大全免费下载
  • cakephp网站开发框架赤峰微网站建设
  • 网站登记备案表室内设计平面图比例
  • 去哪找做网站的客户网站要害字
  • 咖啡店网站模板少儿编程加盟哪个好
  • wordpress子域名网站dw在线编辑器
  • 网站详情页潍坊建设局网站
  • 网站空间选择深圳做微信商城网站建设
  • 做元器件上什么网站小制作的制作过程