Java: в каком порядке инициализируются статические конечные поля?

Хорошо, допустим, у меня есть класс, который выглядит следующим образом:

public class SignupServlet extends HttpServlet {
    private static final Logger SERVLET_LOGGER=COMPANYLog.open(SignupServlet.class);
    private static final ExceptionMessageHandler handler = new ExceptionMessageHandler();   
    private static final SignupServletObservableAgent signupObservableAgent = 
        new SignupServletObservableAgent(null, SERVLET_LOGGER);
}

Могу ли я рассчитывать на то, что загрузчик классов инициализирует эти поля по порядку, так что я могу положиться на то, что SERVLET_LOGGER будет создан до signupObservableAgent?

33
задан sangfroid 15 December 2010 в 02:02
поделиться