0

我最近从一本关于 Android 服务的书中找到了这段代码:

static Handler UIupdater = new Handler() {
   @Override
   public void handleMessage(Message msg) {
      byte[] buffer = (byte[]) msg.obj;
      //---convert the entire byte array to string---
      String strReceived = new String(buffer);
      //---display the text received on the TextView---
      txtView1.setText(strReceived);
      Log.d(“Threading”, “running”);
   }
};

我想我理解目的,-他们只是想覆盖 Handler 类的方法而不定义它的子类-,但我不确定我是否理解语法。实际上,我以前从未在 java 中遇到过这种语法。有人可以指出这里涉及的java机制吗?一开始我以为它是匿名内部类,但静态处理程序 UIupdater 部分让我怀疑......

感谢您的帮助(对不起菜鸟问题)!

4

1 回答 1

1

你是对的,这是一个匿名 内部类,它的实例被分配给静态字段 UIupdater

于 2013-03-17T17:41:44.897 回答