Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android:这个语法在做什么?_Java_Android_Syntax - Fatal编程技术网

Java Android:这个语法在做什么?

Java Android:这个语法在做什么?,java,android,syntax,Java,Android,Syntax,来源:developer.android.com 我知道它正在创建一个CountDownTimer类的新对象,用两个参数初始化并最终启动,因为它返回相同的对象。但是{}之间有两个函数的代码是什么技术?有关于它的语言参考资料吗?提前感谢。CountDownTimer类是抽象的:您不能直接实例化它(这是OOP的一个要点,也是所有OO语言的一个要点) 您的代码片段创建了一个匿名类实例,正如@Jon Skeet在注释中所说的那样。这意味着您可以直接实现抽象类和抽象方法,而无需将它们“存储”在经典的Jav

来源:developer.android.com


我知道它正在创建一个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();