В программе Java произошла ошибка компиляции, но она была успешно выполнена - PullRequest
0 голосов
/ 27 января 2019
class Return
{

      public static void main(String args[])
      {
         boolean t=true;
         System.out.println("Before the return");

         if(t)
         return;

         System.out.println("This wont execute");   
      }
}

Эта программа от Герберта Шидта.Я попытался запустить эту программу, используя командную строку без if (t), чтобы увидеть ошибку компиляции

error: unreachable statement  
   System.out.println("Wont Execute");

Я понял эту ошибку, но программа работает нормально, когда я выполняю команду возврата Java.Он показывает вывод

Выполняет

Итак, я хотел знать, как эта программа работает даже при ошибке компиляции?

1 Ответ

0 голосов
/ 27 января 2019

Вы почти наверняка использовали последнюю успешно скомпилированную версию этого класса.Когда вы запускаете компилятор Java, он не стирает свой старый вывод, он перезаписывает его.Так что, если вы скомпилировали Return.java один раз успешно, у вас будет Return.class на вашем диске.Если вы измените Return.java на некомпилируемую и попытаетесь скомпилировать ее, Return.class из предыдущей успешной компиляции все равно будет там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...