RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
dataclass与objectclass函数如何在Kotlin中使用

这期内容当中小编将会给大家带来有关dataclass与objectclass函数如何在Kotlin中使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

目前成都创新互联公司已为上千家的企业提供了网站建设、域名、网站空间、网站托管、服务器托管、企业网站设计、勐腊网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

Kotlin基础教程之dataclass,objectclass

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

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

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

dataclass与objectclass函数如何在Kotlin中使用

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

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

运行的结果不出所料:

dataclass与objectclass函数如何在Kotlin中使用

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

dataclass与objectclass函数如何在Kotlin中使用

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

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

运行结果如下:

dataclass与objectclass函数如何在Kotlin中使用

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

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

dataclass与objectclass函数如何在Kotlin中使用

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

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

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

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

dataclass与objectclass函数如何在Kotlin中使用

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

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

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

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

dataclass与objectclass函数如何在Kotlin中使用

客户端代码:

dataclass与objectclass函数如何在Kotlin中使用

dataclass与objectclass函数如何在Kotlin中使用

dataclass与objectclass函数如何在Kotlin中使用

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

服务器输出:

dataclass与objectclass函数如何在Kotlin中使用

客户端输出:

dataclass与objectclass函数如何在Kotlin中使用

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

上述就是小编为大家分享的dataclass与objectclass函数如何在Kotlin中使用了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


分享题目:dataclass与objectclass函数如何在Kotlin中使用
文章源于:http://lswzjz.com/article/jpehhj.html