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

哈,结束了!

目录
相关文章
|
2天前
|
Java Kotlin Python
Kotlin教程笔记(16) - 扩展成员
Kotlin教程笔记(16) - 扩展成员
9 2
Kotlin教程笔记(16) - 扩展成员
|
3天前
|
Java Kotlin Python
​ Kotlin教程笔记(16) - 扩展成员
​ Kotlin教程笔记(16) - 扩展成员
12 1
​ Kotlin教程笔记(16) - 扩展成员
|
4月前
|
Kotlin
Kotlin类的定义、构造函数、封装、继承和多态
Kotlin类的定义、构造函数、封装、继承和多态
|
4月前
|
Kotlin
Kotlin中的函数分类(顶层、成员、局部、递归等)
Kotlin中的函数分类(顶层、成员、局部、递归等)
|
1天前
|
数据安全/隐私保护 Kotlin
Kotlin - 类成员
Kotlin - 类成员
13 5
|
5天前
|
数据安全/隐私保护 Kotlin
Kotlin教程笔记(7) - 类成员
Kotlin教程笔记(7) - 类成员
14 3
|
7天前
|
数据安全/隐私保护 Kotlin
Kotlin14 - 类成员
Kotlin14 - 类成员
33 5
|
14天前
|
数据安全/隐私保护 Kotlin
|
13天前
|
Java Kotlin
Kotlin教程笔记(13) - 类及成员的可见性
Kotlin教程笔记(13) - 类及成员的可见性
47 4
|
13天前
|
Java Kotlin Python
Kotlin16 - 扩展成员
Kotlin16 - 扩展成员
Kotlin16 - 扩展成员