Вложенность статических блоков не разрешена в Java? OCJA 1.8

Я готовлюсь к экзамену OCJA, где натолкнулся на концепцию статических блоков. Я пробовал другую комбинацию, где я отметил, что вложение блоков экземпляров разрешено, но вложение статических блоков не допускается. Почему вложение статических блоков не допускается? К сожалению, я не могу найти онлайн-ресурс, где можно объяснить эту причину.

Ниже приведено вложение блока экземпляра, который прекрасно компилируется.

  class Test {
   { 
        {
            System.out.print("Instance Block One");
            {
                System.out.print("Nested Instance Block");
            }   
        }   
    }

      public static void main(String[] args){
        System.out.print("Main Method");    
     }
}

Ниже показано размещение статического блока, который не выполняется во время компиляции.

  class Test {
    static{ 
            static{
                System.out.print("Static Block One");
                    static{
                        System.out.print("Nested static Block");
                    }       
                }   
        }

   public static void main(String[] args){
      System.out.print("Main Method");  
   }
}

0 ответов

Другие вопросы по тегам