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