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

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
Зареєструйся Зараз
або Підпишись на майбутні тести