1. 程式人生 > 其它 >Kotlin中常量和靜態方法

Kotlin中常量和靜態方法

常量

Java中:
   class StaticDemoActivity {
         public static final String LOAN_TYPE = "loanType";
         public static final String LOAN_TITLE = "loanTitle";
    }
Kotlin中:
  class StaticDemoActivity {
      companion object {
           val  LOAN_TYPE = "loanType"
           val  LOAN_TITLE = "loanTitle"
    }
}

或者

  class StaticDemoActivity {
      companion object StaticParams{
            val  LOAN_TYPE = "loanType"
            val  LOAN_TITLE = "loanTitle"
    }
}

 或者
  class StaticDemoActivity {
      companion object {
         const val LOAN_TYPE = "loanType"
         const val LOAN_TITLE = "loanTitle"
    }
}

注:const關鍵字用來修飾常量,且只能修飾val,不能修飾var,companion object的名字可以省略,可以使用Companion來指代

引用常量(這裡的引用只針對於java引用kotlin程式碼)

TestEntity類引用StaticDemoActivity中的常量

   class TestEntity {
        public TestEntity () {
            String title = StaticDemoActivity.Companion.getLOAN_TITLE();
    }
  }

  或者

  class TestEntity {
        public TestEntity () {
            String title = StaticDemoActivity.StaticParams.getLOAN_TITLE();
        }
  }

  或者

  class TestEntity {
        public TestEntity () {
            String title = StaticDemoActivity.LOAN_TITLE;
            String type= StaticDemoActivity.LOAN_TYPE;
        }
  }

靜態方法

Java程式碼:
      class StaticDemoActivity {
          public static void test(){
                、、、
          } 
      }
Kotlin中:
      class StaticDemoActivity {
          companion object {
               fun test(){
                    、、、
                }
          }
      }

  或者

       class StaticDemoActivity {
          companion object StaticParams{
              fun test() {
                  、、、
              }
          }
      }
引用靜態方法(這裡的引用只針對於java引用kotlin程式碼)

TestEntity類引用StaticDemoActivity中的靜態方法

    class TestEntity {
          public TestEntity () {
                StaticDemoActivity.Companion.test();
          }
    }

或者

    class TestEntity {
          public TestEntity () {
             StaticDemoActivity.StaticParams.test();
          }
    }

companion object {}中用來修飾靜態常量,或者靜態方法單例等等

推薦文章:
Kotlin中的object 與companion object的區別