Каким будет результат компиляции и выполнения следующей программы?

class MyRunnable implements Runnable {
    public void run() {
        System.out.println("Runnable!");
    }
}

public class MyThread extends Thread {
    public MyThread() {
        super();
    }

    public MyThread(Runnable target) {
        super(target);
    }

    public void run() {
        System.out.println("Thread!");
    }

    public static void main(String[] args) {
        new MyThread().start();
        new MyThread(new MyRunnable()).start();
    }
}
Explanation
Всегда вызывается переопределенный (если он переопределен) метод run() потока, а не метод run() "target'а".

Следи за CodeGalaxy

Мобильное приложение Beta

Get it on Google Play
Обратная Связь
Продолжайте изучать
тесты по Java
Cosmo
Зарегистрируйся сейчас
или Подпишись на будущие тесты