直接上代码,实例如下
class StaticTestActivity {
companion object {
val string1 = "string1"
val string2= "string2"
}
}
或者
class StaticTestActivity {
companion object StaticParams{
val string1= "string1"
val string2= "stirng2"
}
}
或者
class StaticTestActivity {
companion object {
const val string1= "string1"
const val string2= "string2"
}
}
注:const 关键字用来修饰常量,且只能修饰 val,不能修饰var, companion object 的名字可以省略,可以使用 Companion来指代
引用常量(这里的引用只针对于java引用kotlin代码)
TestEntity类引用StaticTestActivity中的常量
class TestEntity {
public TestEntity () {
String title = StaticTestActivity.Companion.getString1();
}
}
或者
class TestEntity {
public TestEntity () {
String title = StaticTestActivity.StaticParams.getString2();
}
}
或者
class TestEntity {
public TestEntity () {
String title = StaticTestActivity.string1;
String type= StaticTestActivity.string2;
}
}
静态方法
class StaticTestActivity {
companion object {
fun test(){
//
}
}
}
或者
class StaticTestActivity {
companion object StaticParams{
fun test() {
//
}
}
}
引用静态方法(这里的引用只针对于java引用kotlin代码)
TestEntity类引用StaticTestActivity中的静态方法
class TestEntity {
public TestEntity () {
StaticTestActivity .Companion.test();
}
}
或者
class TestEntity {
public TestEntity () {
StaticTestActivity .StaticParams.test();
}
}
**companion object {}**中用来修饰 静态常量,或者静态方法,单例等等