Android:这个语法在做什么?

时间:2015-02-12 11:58:02

标签: java android syntax

new CountDownTimer(30000, 1000) {

   public void onTick(long millisUntilFinished) {
      mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
   }

   public void onFinish() {
      mTextField.setText("done!");
   }
}.start();

来源:developer.android.com

我知道它正在创建一个CountDownTimer类的新对象,用两个参数初始化并最终启动,因为它返回相同的对象。但代码之间有两个函数{}是什么样的技术?有没有关于它的语言参考?提前谢谢。

1 个答案:

答案 0 :(得分:1)

CountDownTimer类是抽象的:你不能直接实例化它(它是OOP的一个点,所以每个OO语言都是如此)。

您的代码片段会创建一个Anonymous类实例,正如@Jon Skeet在评论中所说。这意味着您可以直接实现抽象类和抽象方法,而无需将它们“存储”到经典Java类中。