将java代码转成kotlin public class MyService extends Service { @Override public void onCreate() { super.onCreate(); Context context = getBaseContext(); // TODO: 使用context对象进行操作 } }
时间: 2024-02-23 12:00:39 浏览: 384
将Java代码转成Kotlin如下:
```kotlin
class MyService : Service() {
override fun onCreate() {
super.onCreate()
val context: Context = baseContext
// TODO: 使用context对象进行操作
}
}
```
需要注意的是,在Kotlin中使用`baseContext`来获取Service的Context对象。此外,在Kotlin中不需要使用`override`关键字来重写父类方法,而是使用`override`修饰符。
相关问题
public class MyApplication extends Application { private static Context context; @Override public void onCreate() { super.onCreate(); context = getApplicationContext(); } /** *重写了父类的onCreate() 方法,并通过调用getApplicationContext() 方法得到了一个应用程序级别的 *Context,然后又提供了一个静态的getContext() 方法,在这里将刚才获取到的Context进行返回。 **/ public static Context getContext() { return context; } } 可以用kotlin表示这段代码吗
可以,用 Kotlin 表示的代码如下:
```
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
context = applicationContext
}
companion object {
@JvmStatic
lateinit var context: Context
fun getContext(): Context = context
}
}
```
其中,使用 `lateinit var` 声明了一个可空的 `Context` 类型的变量 `context`,并在 `onCreate()` 方法中给其赋值,最后提供了一个静态的 `getContext()` 方法来获取 `context` 变量的值。同时通过 `@JvmStatic` 注解,使得在 Java 代码中也可以通过类名直接调用 `getContext()` 方法。
阅读全文