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