Kotlin扩展成员(工具类的撰写和定义)
一、扩展成员
为现有的类添加方法、属性
扩展方法:fun X.y(): Z{}
扩展属性:val X.m 注意拓展属性不能初始化,类似于接口属性
二、下面来看一下例子
1.Java工具类的撰写
package net.println.kotlin.chapter4.extend;
/**
* @author:wangdong
* @description:g工具类
*/
public class Utils {
//写一个判断参数是否为0的方法
public static Boolean isEmpty(String[] args){
return args.length == 0;
}
//写一个判断参数不为空的方法
public static Boolean isNotEmpty(String[] args){
return args.length > 0;
}
}
2.Java调用工具类
package net.println.kotlin.chapter4.extend;
import javax.rmi.CORBA.Util;
/**
* @author:wangdong
* @description:Java拓展功能
*/
public class ExtendsJava {
public static void main(String[] args) {
//如果要判断参数数组是否为0
if (Utils.isEmpty(args)){
}
//判断参数是否大于0
if (Utils.isNotEmpty(args)){
}
//在java中调用kotlin中的方法
System.out.println(ExtendsKt.times("intel",20));
}
}
3.Kotlin工具类的撰写
package net.println.kotlin.chapter4.extend
/**
* @author:wangdong
* @description:
*/
fun main(args: Array<String>) {
//对这个字符串循环16次
println("abcdef".multiply(16))
//对这个字符串循环16次,调用的是String.times
println("abc" * 16)
/**调用成员方法*/
"abc".b = 5
println("abc".b)
}
/**扩展成员方法*/
/**定义一个循环方法,传入一个int,返回一个String*/
fun String.multiply(int: Int):String{
val stringBuilder = StringBuilder()
for (i in 0 until int){
stringBuilder.append(this)
}
return stringBuilder.toString()
}
/**定义一个循环方法,传入一个int,返回一个String*/
operator fun String.times(int: Int):String{
val stringBuilder = StringBuilder()
for (i in 0 until int){
stringBuilder.append(this)
}
return stringBuilder.toString()
}
/**扩展成员属性*/
val String.a: String
get() = "abc"
var String.b: Int
set(value) {
}
get() = 6
哈,结束了!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
有趣的Github项目万里挑一 !(附论文、项目链接)
本文带你快速 get 每个精选Github项目的亮点和痛点,时刻紧跟 AI 前沿成果。 01 InsightFace #基于MXNet的人脸识别开源库 InsightFace 是 DeepInsight 实验室对其论文ArcFace: Additive Angular Margin Loss for Deep Face Recognition的开源实现。本文工作将 MegaFace 的精度提升到 98%,超过俄罗斯 Vocord 公司保持的 91% 的纪录。 此外,该项目还包括打包对齐好的人脸训练数据(MS1M 和 VGG2)、网络框架(ResNet,InceptionResNet_v2,DenseNet,DPN 和 MobiletNet)和loss 设计(Softmax,SphereFace,AMSoftmax,CosFace 和
-
下一篇
【干货合集】Java其实很好学,但是你需要知道在“爪哇”的世界里“你究竟在哪?”
云栖社区编程语言系列讲座Java专场,和资深技术专家一起学习Java编程实战!你还在等什么,赶快报名吧!!! Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。而且目前而言,就连能够扛过“双11”的淘宝、天猫的底层架构也是Java实现的,注意这样的高峰流量是世界罕见的,就算是亚马逊的“黑色星期五”也不会有这样巨大的流量,这就足以说明Java的
相关文章
文章评论
共有0条评论来说两句吧...