[quote=thingol]Em C/C++ são válidos:
int main (int argc, char*argv[])
int main (int argc, char*argv[], char*envp[])
Não sei se pelo padrão ANSI é aceito “void main”. Que eu saiba, main em C tem de retornar pelo menos 0. E eu não acho nem um pouco amigável o “main” do C/C++, embora seja programador C/C++ há mais de 20 anos.
É que você está acostumado com ele.
Na verdade, como você deve saber, nem o main no Java é obrigatório - se você escrever uma applet, ela não tem “main”.
Tudo depende de quem vai instanciar a classe Java.
Se for o Java.exe, ele requer o tal do main; isso é uma convenção do java.exe, não da linguagem em si. Se ele não achar um método “public static void main” ele não consegue rodar seu programa. Se você instanciar a classe de outra forma (por exemplo, usando um outro programa como o JavaService), a convenção pode ser outra.
[/quote]
Levei em consideração o C somente pela simplicidade. Ja vi alguns compiladores aceitarem ‘void main(void)’ por exemplo.
Sei, que não é obrigatório o uso do método main nas classes, caso o interesse não seja torna-las executáveis.
Mas minha dúvida, é porquê invés de ter que escrever, todo o public static void main, a sun não adaptou este método, com os modificadores implícitos também? Bem na idéia de interfaces.
Na minha idéia, funcionaria como main:
public void main
static void main
void main
public static void main
Tendo como opcional o public e o static, (dependendo da visão, até o void… mas ai acho que quebraria alguns paradigmas) uma vez sabendo que eles estariam ali de qualquer forma.
É essa dúvida, com a sun! 