Вызов метода Java без имени
Я посмотрел на код ниже и нашел что-то немного странное:
public class Sequence {
Sequence() {
System.out.print("c ");
}
{
System.out.print("y ");
}
public static void main(String[] args) {
new Sequence().go();
}
void go() {
System.out.print("g ");
}
static {
System.out.print("x ");
}
}
Я мог бы'мы ожидали, что это приведет к ошибке компиляции какSystem.out
с "у" Безразлично»T принадлежит к объявлению метода просто{ }
, Почему это действительно? Я нене вижу, как этот код будет или должен быть вызван.
При запуске это производитx y c g
Кроме того, почемуstatic { }
вызываться перед конструктором последовательности?