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メカニズムを指摘できますか?最初は匿名の内部クラスだと思っていましたが、静的なHandlerUIupdaterの部分でそれについて疑問が生じます...

助けてくれてありがとう(noobの質問でごめんなさい)!

4

1 に答える 1

1

正解です。これは匿名の 内部クラスであり、そのインスタンスは静的フィールド に割り当てられていますUIupdater

于 2013-03-17T17:41:44.897 に答える