Что напечатает следующий код:

public class Main extends Thread {
	 private int a;

	 public Main() {
		 a = 2;
		 start();
		 System.out.println(a);
	 }
	 
	 public void run() {
		 a++;
	 }
	 public static void main( String[] args ) {
		 new Main();
	 }
 }
Explanation
Потому что метод start() создаёт новый поток и выполняет в нём метод run().
Т.е по сути, метод start() говорит планировщику потоков - создай новый поток в процессе, и выполни его (метод run())
Но когда начнётся выполнение, никто не знает.
Поэтому ответ - Результат может варьироваться от запуска, к запуску.

Следи за CodeGalaxy

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

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