Estou lendo o livro da K&B, e no exemplo abaixo o qual adaptei do livro:
public class construtores{
public construtores(){this("a");}
public construtores (String a){this();}
}
Fiquei em dúvida se ocorre em erro em tempo de execução, o
% java construtores
Exception in thread "main" java.lang.StackOverflowError
OU se ocorrerá erro de compilação:
construtores.java:3 recursive constructor invocation
public construtores (String a){this();}
^
1 error
No livro afirmam que é erro em tempo de execução porque a maioria dos compiladores não percebe este problema. Mas testando (no JDK 6) achei a segunda opção, ou seja nem sequer compila.
Como testei sei que na prática acontecerá isto (se estiver no Java 6), mas PARA PROVA, numa questão semelhante o que eu devemos seguir ?