zoukankan      html  css  js  c++  java
  • 浅谈Kotlin(五): 静态变量&静态方法

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

    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 中使用类访问静态成员,静态方法。

    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 修饰的类为静态类,里面的方法和变量都为静态的。

    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))
            }
        }
    }

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

            EUtils.utilVersion
            MUtils.utilVersion
            XUtils.utilVersion
            MUtils.showPrice(tvPrice,"111")
            EUtils.showPrice(tvPrice,"111")
            XUtils.showPirce(tvPrice,"111")

    作者:听着music睡

    出处:http://www.cnblogs.com/xqxacm/

    Android交流群:38197636

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    Java核心技术Java程序设计
    Mac下查看 Java 安装目录位置和安装数量
    Intellij IDEA快捷键与使用小技巧
    Java 8 新特性 用 Collectors 对 List 去重
    onInterceptTouchEvent()与onTouchEvent()的机制
    Android 开发之多线程处理、Handler
    安卓中使用XmlPullParser解析xml文件
    监控部署nagios+snmp
    阿里RDS数据库 全量备份恢复到本地MYSQL
    20120412
  • 原文地址:https://www.cnblogs.com/xqxacm/p/15715530.html
Copyright © 2011-2022 走看看