全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Kotlin基础教程之dataclass,objectclass,use函数,类扩展,socket

Kotlin基础教程之dataclass,objectclass,use函数,类扩展,socket

Kotlin提供了一些机制来扩展已有的类,如下:

还记得我们之前写过的Point3D类吗?(将其略作修改,将成员变量改为Double类型)

让我们为其扩展一个length函数

扩展的方法很简单,只要在函数名前面加上类名就行了.

这样Point3D的对象就有了一个名为length的方法.

运行的结果不出所料:

除此之外,在Kotlin中还有一些特殊的类,比如Data Class:


有些类只包含数据,不需要包含方法,就可以声明为data class,当然data class并不是不能包含方法.

data class最大的特色在于copy函数和多变量赋值,可以在一条语句里面把不同的字段赋值给不同的变量.

运行结果如下:


Kotlin一般在类中不允许static成员,前面曾经说过可以使用companion object来创建一个伴生对象从而可以使用static成员.

这里还有一种方法就是使用object关键字声明一种特殊的类,这个类只有一个实例,因此看起来整个类就好像是一个对象一样.如下:

这里把类声明时的class关键字改成了object,这个类里面的成员默认都是static的.

另外我们可以看到在这段代码中出现了一个use函数,这个函数的参数是一个lambda表达式或者说一个匿名函数.

其参数必须实现Closeable接口,其参数在函数结束后会自动关闭,调用其close方法,无论是否发生异常.

其实这个用法来自于Java7中引入的一个语法,在Java7中引入的这个语法名为try-with-resource,其对应的Java代码如下:


server变量在try语句中被声明并初始化,无论是否发生异常,最后server都会被自动关闭.

之所以引入这种语法,是为了解决finally语句的不足.

在Kotlin中的use函数就是实现了Java中try-with-resource语句的功能.

这段Kotlin代码写的是一个多线程Socket服务器的demo,其他部分的代码如下:

客户端代码:


当Socket服务器启动后,再启动SocketClient,运行结果如下:

服务器输出:

客户端输出:

可以看到Socket服务已经正常启动了.

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Kotlin  # dataclass  # objectclass  # use函数  # 类扩展  # socket  # Kotlin object的几种用法示例详解  # Kotlin中Object关键字的使用示例介绍  # Mockito mock Kotlin Object类方法报错解决方法  # kotlin中object关键字的三种使用场景  # kotlin object关键字单例模式实现示例详解  # 是一个  # 这段  # 可以看到  # 可以使用  # 自动关闭  # 的是  # 客户端  # 都是  # 让我们  # 不需要  # 将其  # 希望能  # 很简单  # 只有一个  # 为其  # 来自于  # 或者说  # 谢谢大家  # 后会  # 还有一些 


相关文章: 如何快速搭建高效香港服务器网站?  建站之星价格显示格式升级,你的预算足够吗?  如何自定义建站之星网站的导航菜单样式?  如何在IIS7上新建站点并设置安全权限?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  如何高效完成自助建站业务培训?  唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  代刷网站制作软件,别人代刷火车票靠谱吗?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  如何在西部数码注册域名并快速搭建网站?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  linux top下的 minerd 木马清除方法  建站之星多图banner生成与模板自定义指南  自助网站制作软件,个人如何自助建网站?  创业网站制作流程,创业网站可靠吗?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  如何选择PHP开源工具快速搭建网站?  建站之星2.7模板快速切换与批量管理功能操作指南  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  图册素材网站设计制作软件,图册的导出方式有几种?  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  如何撰写建站申请书?关键要点有哪些?  建站主机功能解析:服务器选择与快速搭建指南  如何在Golang中指定模块版本_使用go.mod控制版本号  建站上传速度慢?如何优化加速网站加载效率?  香港服务器WordPress建站指南:SEO优化与高效部署策略  制作网站的过程怎么写,用凡科建站如何制作自己的网站?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  如何在自有机房高效搭建专业网站?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  建站之星如何实现五合一智能建站与营销推广?  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  h5在线制作网站电脑版下载,h5网页制作软件?  建站之星与建站宝盒如何选择最佳方案?  ,购物网站怎么盈利呢?  代购小票制作网站有哪些,购物小票的简要说明?  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  如何在万网自助建站平台快速创建网站?  ,柠檬视频怎样兑换vip?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  如何获取PHP WAP自助建站系统源码?  定制建站方案优化指南:企业官网开发与建站费用解析  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  北京企业网站设计制作公司,北京铁路集团官方网站?  如何选择域名并搭建高效网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。