0

私はAndroidが初めてで、Eclipseを使用しています。AndroidフォンでBluetoothを使用してアプリケーションを作成していますが、バージョンは2.3です。SDK マネージャーからダウンロードしたサンプルを使用して変更を加えると、うまくいくようになります。サンプル ファイル「BluetoothServiceChat」では、関数 public synchronized void stop() を呼び出します。

現在、Eclipse はエラーをスローし、「スレッドからの最終メソッドをオーバーライドできません」と表示されます。これを修正するにはどうすればよいですか?

ここからコードについての説明を使用します

停止機能のコード例:

/**
* Stop all threads
*/
public synchronized void stop() {
  if (D) Log.d(TAG, "stop");

  if (mConnectThread != null) {
      mConnectThread.cancel();
      mConnectThread = null;
  }

  if (mConnectedThread != null) {
      mConnectedThread.cancel();
      mConnectedThread = null;
  }

  if (mSecureAcceptThread != null) {
      mSecureAcceptThread.cancel();
      mSecureAcceptThread = null;
  }

  if (mInsecureAcceptThread != null) {
      mInsecureAcceptThread.cancel();
      mInsecureAcceptThread = null;
  }
  setState(STATE_NONE);

}

前もって感謝します

4

3 に答える 3

2

できません。最終的なメソッドは、設計上オーバーライドできません。プラットフォーム/フレームワークの開発者は、アプリケーション開発者が抽象化とセキュリティの問題のためにいくつかのメソッドをオーバーライドすることを望んでいませんでした。この質問はあなたのものに似ています:

Javaの「最終」メソッド: それは何を約束しますか?

于 2013-04-26T14:16:25.830 に答える
0

オーバーライドするのではなく、CALL (停止メソッド) する必要がありますか?

于 2013-04-26T14:21:21.653 に答える