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

简介: 一、扩展成员 为现有的类添加方法、属性 扩展方法:fun X.y(): Z{} 扩展属性:val X.m 注意拓展属性不能初始化,类似于接口属性二、下面来看一下例子 1.

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

哈,结束了!

目录
相关文章
|
11天前
|
数据安全/隐私保护 Kotlin
Kotlin - 类成员
Kotlin - 类成员
47 6
|
18天前
|
数据安全/隐私保护 Kotlin
Kotlin - 类成员
Kotlin - 类成员
35 1
|
9天前
|
Java Kotlin Python
Kotlin - 扩展成员
Kotlin - 扩展成员
15 2
Kotlin - 扩展成员
|
12天前
|
Java Kotlin Python
Kotlin - 扩展成员
Kotlin - 扩展成员
22 2
Kotlin - 扩展成员
|
23天前
|
Java Kotlin Python
​ Kotlin教程笔记(16) - 扩展成员
​ Kotlin教程笔记(16) - 扩展成员
​ Kotlin教程笔记(16) - 扩展成员
|
9天前
|
Java Kotlin
Kotlin - 类及成员的可见性
Kotlin - 类及成员的可见性
|
12天前
|
Java Kotlin
Kotlin - 类及成员的可见性
Kotlin - 类及成员的可见性
27 5
|
10天前
|
数据安全/隐私保护 Kotlin
Kotlin - 类成员
Kotlin - 类成员
22 2
|
21天前
|
Java Kotlin
​ Kotlin教程笔记(13) - 类及成员的可见性
​ Kotlin教程笔记(13) - 类及成员的可见性
46 5
|
19天前
|
Java Kotlin Python
​ Kotlin教程笔记(16) - 扩展成员
​ Kotlin教程笔记(16) - 扩展成员
23 0
​ Kotlin教程笔记(16) - 扩展成员