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

wordpress relocateseo成创

wordpress relocate,seo成创,系统优化软件,wordpress商品系统静态与顶层方法 静态方法#xff08;伴生对象#xff09; Java中有静态方法的概念#xff0c;但是在Kotlin中这个静态方法被弱化了#xff0c;还记得我们使用object创建一个单例类吗#xff0c;创建的单例类我们当时可以使用像静态方法一样的调用方式取调用#xff0c;…静态与顶层方法 静态方法伴生对象 Java中有静态方法的概念但是在Kotlin中这个静态方法被弱化了还记得我们使用object创建一个单例类吗创建的单例类我们当时可以使用像静态方法一样的调用方式取调用但object修饰的类会把它的所有方法都变成类似静态方法一样的调用于是Kotlin提供了companion object修饰符用于在类中修饰静态方法那样一个类就可以同时存在静态和非静态方法了。 class Student(name: String, age: Int, val clazz: String): Person(name, age), Study {override fun doHomeWork() {println(do homework.)}companion object {fun sayHello() {println(Hello!)}} }但是这种方式产生的类似静态方法一样的调用并非真正的静态方法如果你在Java中使用类似静态方法的调用会发现根本找不到这个方法companion object只是语法上模拟静态方法的调用方式实际上它们都不是真正的静态方法因此你如果需要在Java中调用那么你需要在方法上加上JvmStatic注解 class Student(name: String, age: Int, val clazz: String): Person(name, age), Study {override fun doHomeWork() {println(do homework.)}companion object {JvmStaticfun sayHello() {println(Hello!)}} }顶层方法 在kotlin中顶层方法指的是不用类似静态方法那样的调用方式调用的方法比如Helper.kt文件中有一个sayHello方法那么sayHello就是一个顶层方法你可以在其他类中通过sayHello()直接调用而不用通过Helper.sayHello()调用。 顶层方法的定义就是单纯一个kt文件在里面定义的所有fun方法都将做为顶层方法例如 package dev.xuanran.kt2// Helper.kt fun sayHello() {println(Hello!) }package dev.xuanran.kt2// Main.kt fun main() {sayHello() } 由于Java中没有顶层方法的概念所以在Java中如果需要调用顶层方法的话那么就需要通过Helper.sayHello()的形式调用。 延迟初始化 在正常的开发中类里面肯定存在很多全局变量而很多全局变量可能只有在类初始化的时候才能去创建实例但由于Kotlin的变量不可为空的机制你只能给类似的变量类型后面加上?来先手动给它赋值为null(这里的Demo假设student的对象实例需要通过网络获取)。 var student : Student? nullfun main() {// network... }但是这样会产生一个缺点就是后续你再去调用student内部的方法时因为你允许这个变量可空所以每次调用都需要来检查是否为空。 为此Kotlin提供了延迟初始化功能使用lateinit修饰全局变量那么就可以避免可空修饰?以及后续每次使用前用if判空。 lateinit var student: Studentfun main() {// network...student.doReadBook() } 但是lateinit关键字也不是没有风险如果你在它之前就调用它那么还是会产生Exception的。 紧接着Kotlin也给我们提供了一种方式帮助我们判断某个全局变量是否已初始化::变量名.isInitialized如果已经初始化过了我们就可以不用再执行初始化操作了。 lateinit var student: Studentfun main() {if (!::student.isInitialized) {// network...}student.doReadBook() }lazy懒加载 lazy代码块是Kotlin提供的一种懒加载技术代码块中的代码一开始并不会执行只有当修饰的变量首次被调用的时候才会执行并且将最后一行代码的返回值赋值给被修饰的全局变量具体语法规则如下 val p by lazy {println(b)c }fun main() {println(a)println(p) }输出结果a b c
http://www.hkea.cn/news/14314663/

相关文章:

  • 如何在工信部网站查询icpip网站提升流量
  • 中心城网站建设app软件系统开发
  • 网站没建设可以访问吗WordPress文档批量发布接口
  • 网站seo方案策划书网站建设时间计划
  • 昆明seo网站如何做好网络营销推广
  • 做网站找哪家又便宜又好南昌网站建设优化
  • 国内永久免费建站Wordpress 帖子翻译
  • 官方网站下载游戏百度爱采购平台登录
  • 网站建设私活中能找深圳seo优化公司哪家好
  • 企业做网站要注意些什么企业官网 源码 免费下载
  • 简述网站开发基本流程图网页游戏开服表大全
  • 嘉兴免费网站制作百度竞价推广代运营公司
  • 网站建设找客户渠道辽宁男科医院排名最好的医院
  • 福州医院网站建设公司福田欧曼est前四后八
  • 做网站用什么网最好渭南建设用地规划查询网站
  • 自学做网站需要学会哪些北京网站优建设
  • 网站建设公司 资讯产品设计经典案例
  • 上海 设计网站建设地产行业网站建设图片
  • 大连手机自适应网站建设费用建设工程施工合同管理论文
  • dedecms两网站共享用户名网络营销型网站策划
  • 网站制作价格东莞长沙专业网站建设.
  • 中文无版权图片网站怎么买域名建网站
  • 河南网站建设软件企业管理软件市场规模
  • 外贸汽车网站人物摄影网站
  • 网站的图片尺寸wordpress不备案
  • 马可波罗网站做外贸南昌哪里网站建设专业
  • 下载中心官方网站建设银行做网站需要什么框架
  • 电子商城网站设计实训报告ps做网站心得
  • 佛山市企业网站建设哪家好温州免费建站模板
  • 做网站开发需要什么小程序怎么开发自己的小程序代码