您现在的位置是:首页 > 文章详情

Kotlin扩展成员(工具类的撰写和定义)

日期:2018-04-01点击:574

一、扩展成员
为现有的类添加方法、属性
扩展方法: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

哈,结束了!

原文链接:https://yq.aliyun.com/articles/614572
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章