前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >浅谈Kotlin(四): 静态变量&静态方法

浅谈Kotlin(四): 静态变量&静态方法

作者头像
听着music睡
发布2021-12-24 14:16:07
1.8K0
发布2021-12-24 14:16:07
举报
文章被收录于专栏:Android干货Android干货

Java中定义静态变量和方法:

代码语言:javascript
复制
public class XUtils {

    // utils版本号
    public static String utilVersion="1.0";

    /**
     * 显示金额,负数为-¥0,非负数为¥0
     * @param tv     文本控件
     * @param price  金额
     */
    public static void showPirce(TextView tv , String price ){
        int result = new BigDecimal(price).compareTo(BigDecimal.ZERO);
        if (result>=0)
        {
            tv.setText("¥" + new BigDecimal(price));
        }else
        {
            tv.setText("-¥" + new BigDecimal(price));
        }
    }
}

Kotlin中定义静态变量和方法:

第一种方式:

companion object 修饰为伴生对象,伴生对象在类中只能存在一个,类似于java中的静态方法 Java 中使用类访问静态成员,静态方法。

代码语言:javascript
复制
class EUtils {
    companion object {
        // utils版本号
        var utilVersion = "1.0"

        /**
         * 显示金额,负数为-¥0,非负数为¥0
         * @param tv     文本控件
         * @param price  金额
         */
        fun showPrice(tv: TextView, price: String): Unit {
            var result = BigDecimal(price).compareTo(BigDecimal.ZERO)
            if (result >= 0) {
                tv.setText("¥" + BigDecimal(price))
            } else {
                tv.setText("-¥" + BigDecimal(price))
            }
        }
    }
}

第二种方式:

object 修饰的类为静态类,里面的方法和变量都为静态的。

代码语言:javascript
复制
object MUtils {
    // utils版本号
    var utilVersion = "1.0"
    /**
     * 显示金额,负数为-¥0,非负数为¥0
     * @param tv     文本控件
     * @param price  金额
     */
    fun showPrice(tv: TextView, price: String): Unit {
        var result = BigDecimal(price).compareTo(BigDecimal.ZERO)
        if (result >= 0) {
            tv.setText("¥" + BigDecimal(price))
        } else {
            tv.setText("-¥" + BigDecimal(price))
        }
    }
}

以上的调用方法都一样,类名.变量 、类名.方法

代码语言:javascript
复制
        EUtils.utilVersion
        MUtils.utilVersion
        XUtils.utilVersion
        MUtils.showPrice(tvPrice,"111")
        EUtils.showPrice(tvPrice,"111")
        XUtils.showPirce(tvPrice,"111")
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-12-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档