Melhor jeito de iniciar um programa

5 respostas
War_Paz

Então, GUJNautas, acho que o título já deixa bem claro. Qual o melhor, mais seguro ou mais rápido meio de iniciar um programa?

Eu sempre faço assim:

package paz;

public class MainClass{
	
	public MainClass(){
		System.out.println("Teste: Olá mundo :D");
	}
	
	public static void main(String[] e){
		new MainClass();
	}
	
}

Ou seja, no construtor da classe principal eu dou as ordens que devem ser dadas para o programa rodar e, na mesma classe, coloco o método main e nele uso new MainClass();

Não sei se esse método é seguro nem nada do tipo, mas sempre funcionou bem pra mim então gostaria de saber de vocês do GUJ qual é o melhor :)

5 Respostas

LucasHP

Amigão, qual sua definição exata de “seguro” para você, nesse contexto?

Agora, sobre rapidez, seria mais rapido colocar direto no main, sem instanciar a classe.

Ai usar o operador “new” você está dizendo para o java alocar um novo espaço de memória, no exemplo citado não há nenhum motivo para fazer tal operação, só deixará mais lento.

Abs.

diogozero

Eu geralmente coloco o método main em uma classe só pra ele, sem outras responsabilidades. Por exemplo, se tiver que chamar a janela principal da aplicação, é nela que eu vou instanciar e fazer com que ela seja exibida.

War_Paz

diogozero, eu gosto de fazer assim por que ficava p da vida quando o compilador indicava algum erro em tratar um objeto estático de modo não estático, ou vice-versa. Faço assim mais por isso que por outros motivos. Acho que isso também já responde ao LucasHP. Mas então, LucasHP, minha classe principal seria basicamente um main(String[] e), mas eu uso desse modo pra não ter que ficar me preocupando, como já disse, com meios estáticos e não estáticos. Eu não saio instanciando tudo “na doida” já na MainClass do exemplo, dela eu mando criar um objeto, depois aquele outro no decorrer do programa e das necessidades do mesmo. Ainda assim, é um método mais lento?

R

Quanto mais memória voce consumir da cpu, mais lento ficará seu programa, pode ter certeza disso, ou seja, a cada novo objeto alocado, 1 endereço de memória é utilizado.

Marcelo_de_Andrade

No exemplo que você postou, não há necessidade para isso, mas está certo.

Criado 12 de dezembro de 2012
Ultima resposta 12 de dez. de 2012
Respostas 5
Participantes 5