Java Android:这个语法在做什么?
来源:developer.android.comJava Android:这个语法在做什么?,java,android,syntax,Java,Android,Syntax,来源:developer.android.com 我知道它正在创建一个CountDownTimer类的新对象,用两个参数初始化并最终启动,因为它返回相同的对象。但是{}之间有两个函数的代码是什么技术?有关于它的语言参考资料吗?提前感谢。CountDownTimer类是抽象的:您不能直接实例化它(这是OOP的一个要点,也是所有OO语言的一个要点) 您的代码片段创建了一个匿名类实例,正如@Jon Skeet在注释中所说的那样。这意味着您可以直接实现抽象类和抽象方法,而无需将它们“存储”在经典的Jav
我知道它正在创建一个CountDownTimer类的新对象,用两个参数初始化并最终启动,因为它返回相同的对象。但是{}之间有两个函数的代码是什么技术?有关于它的语言参考资料吗?提前感谢。CountDownTimer类是抽象的:您不能直接实例化它(这是OOP的一个要点,也是所有OO语言的一个要点)
您的代码片段创建了一个匿名类实例,正如@Jon Skeet在注释中所说的那样。这意味着您可以直接实现抽象类和抽象方法,而无需将它们“存储”在经典的Java类中。请参见
onTick()
将毫秒转换为秒,而onFinish()
将显示此倒计时结束时的操作。它只是(每秒)显示剩余时间(以秒为单位)在名为mTextField
的文本视图中。然后在终止时显示“完成!”(30秒后),在同一文本视图中。谢谢大家,但我知道这两个函数将做什么。我对在创建对象时传递整个方法块的技术表示怀疑。您应该添加一个比>在{}之间包含两个函数的代码更好的描述。好吧,谢谢。这非常有用。
new CountDownTimer(30000, 1000) {
public void onTick(long millisUntilFinished) {
mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
}
public void onFinish() {
mTextField.setText("done!");
}
}.start();