1

Javaではこれは有効です

new Thread(new Runnable()
    {   
        public void run()
        {
            for(int i=0;i<5;i++)
                System.out.println("From anonymous:"+i);
        }
    }   
).start();

しかし、これはそうではありません:

Thread t=new Thread(new Runnable()
    {   
        public void run()
        {
            for(int i=0;i<5;i++)
                System.out.println("From anonymous:"+i);
        }
    }   
).start();

匿名クラスでそれを達成できますか? はいの場合、どのように

4

3 に答える 3

8

start()メソッドの結果を variableに割り当てたいため、コードは機能しませんt。次のようにできます。

Thread t=new Thread(new Runnable()
    {   
        public void run()
        {
            for(int i=0;i<5;i++)
                System.out.println("From anonymous:"+i);
        }
    }   
);
t.start();
于 2012-11-13T07:51:10.243 に答える
3

また、この場合、Runnable インターフェイスは Thread クラスによって実装されるため、使用する必要はありません。

    new Thread() {
        @Override
        public void run() {
            for(int i=0;i<5;i++)
               System.out.println("From anonymous:"+i);
        }
    }.start();
于 2012-11-13T08:45:56.570 に答える
1

ここで注意すべきことは、Thread のstartメソッドが void を返すことです。これが、変数に割り当てることができない理由です。

于 2012-11-13T09:04:44.797 に答える