-1
public SampleBehaviour otherway(final String st) {
    return new SampleBehaviour() {
        private String str = st;

        @Override
        public void print() {
            System.out.println("val:"+val);
        }

    };
}

SampleBehaviourインターフェースです。

インターフェイスを実装するクラスは、メソッドの動作を定義する必要があります。インターフェイスでのいくつかの変数の使用は何ですか?

なぜメソッド パラメータを final にする必要があるのですか? このタイプの使用法では、リアルタイム アプリケーションを取得できませんか? この背後にある本当のことは何ですか?

それが便利なら、なぜ C++ にはこのようなものがないのですか?

4

1 に答える 1

0

Java 言語仕様のセクション 8.1.3から:

使用されているが内部クラスで宣言されていないローカル変数、仮パラメーター、または例外パラメーターは、final として宣言する必要があります。

ウィキペディアによると、外部クラスがスコープ外になった後も存続できるため、内部クラスは変数の独自のコピーを保持する必要があります。同じ変数名が 2 つの異なる場所を参照するのを防ぐために、変数を所定の位置に固定することを強制しました。

于 2013-05-21T02:57:00.373 に答える