Machine-translated by Google. Questions are authored in English.
Top

Discussion

Sample85 is run - what will be the output?

public class Sample85
{
    static Runnable greeter()
    {
        return new Runnable()
        {
            public void run()
            {
                System.out.print("anon ");
            }
        };
    }

    public static void main(String[] args) throws InterruptedException
    {
        Thread worker = new Thread(greeter());
        worker.start();
        worker.join();
        System.out.print("end");
    }
}

  • A.anon end
  • B.end anon
  • C.end only
  • D.A compile error

Answer: A

The factory method returns an anonymous class that supplies Runnable's single method, which is exactly what a lambda expresses more briefly. Runnable itself is never instantiated; the anonymous subclass is. The join fixes the order of the two prints.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.