在Java和Android中,我们可以这样做:
public static MyApplication extends Application {
private static Context appContext;
public void onCreate() {
appContext = this;
}
public static Context getAppContext() {
return appContext;
}
}
这样,在其他地方,我们就可以做到这一点:
appContext = MyApplication.getAppContext();
//编辑也许我应该说得更清楚些。我的意思是我们如何才能用Kotlin写上面的内容,用Kotlin。
在Kotlin中,这被称为“伴侣对象”:
class MyApplication: Application {
companion object {
var appContext: Context? = null
private set
}
}
null 从我的类中调用这些代码的工作方式与我预期的一样。但是,我想在Kotlin子类之外调用其中的一个方法。 如果从不同的Kotlin类尝试,则会出现以下编译错误: 未解析得引用:completeWakefulIntent
问题内容: 我有一些用Java编写的代码。对于新课程,我计划在Scala中编写。我在访问基类的受保护静态成员时遇到问题。这是示例代码: Java代码: 标量代码: 有什么建议吗?我如何在不修改现有基类的情况下解决这个问题 问题答案: 这在Scala中是不可能的。由于Scala没有记号,您不能访问父类的成员。这是一个已知的限制。 解决方法是执行以下操作: 现在,您可以改为从这个新类继承,并通过get
我有以下设计,我想在Kotlin中实现: null 有没有更好的,更Kotlin的方法?
我有一个名为ClassA的类,我希望它是完全私有的,除了一个可以接收并执行代码块的方法。我希望我传递给这个方法的代码块能够调用ClassA的私有成员。这是我现在所拥有的一个非常简化的表示: 上面的代码无法编译,因为在ClassA中只是私有访问。如果我更改它对公共的访问,则此代码工作正常。有没有办法我可以在我从 传入的块中引用这个 ,而不必公开该方法?
问题内容: 如果我有以下python代码: 它抱怨 如何在方法中访问类/静态变量? 问题答案: 代替使用或。分配给将创建一个静态变量,分配给将创建一个实例变量。