Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Avatar

Invocando o método .main(String) de outra classe

Recommended Posts

Como faço pra invocar o método .main(String []args) de outra classe?

No C# é possível fazer isto e eu acredito que no Java também deve ser possível, já que o método é do tipo static e não retorna nada (void). No entanto, os testes que fiz não funcionaram...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite Avatar.

 

Toda classe pode ter um método main, que determina o ponto de início de execução de qualquer aplicação Java. Ao contrário do que acontece em C e C++, onde apenas uma função main deve ser definida para a aplicação como um todo, toda e qualquer classe Java pode ter um método main definido. Apenas no momento da interpretação o main a ser executado é definido através do primeiro argumento (o nome da classe) para o programa interpretador.

 

O método main é um método associado à classe e não a um objeto específico da classe -- assim, ele é definido como um método estático. Adicionalmente, deve ser um método público para permitir sua execução a partir da máquina virtual Java. Não tem valor de retorno, mas recebe como argumento um arranjo de strings que corresponde aos parâmetros que podem ser passados para a aplicação a partir da linha de comando. Essas características determinam a assinatura do método.

 

Em outras palavras, o método main é associado a classe para definí-la como classe principal executora de outras classes que serão instanciadas dentro do escopo do método main, pois ele é o método executor da aplicação.

 

Se voce pretendende executar métodos de objetos no momento de sua instanciação, utilize o método construtor da classe que recebe o mesmo nome da classe, assim:

 

package Teste;

public class MinhaClasse {

	 public MinhaClasse {
		 
		 /* Aqui é o método construtor, geralmente utilizado
			 como um método de declaração e inicialização de 
			 variáveis e objetos */

		 execute("Instanciei Minha Classe");
		 ....
		 ...

	 }

	 public static main(String[] args){
		
		// Aqui invoco e instancio outros objetos  
	 }

	 public execute(String msg){
		  JOptionPane.messageDialog(null, msg);
	 }

}

Repare que eu defini o método público execute fora do método main e do método construtor "MinhaClasse, porém e o invoquei dentro do método construtor MinhaClasse.

 

Nesse caso, voce não vai instanciar minha classe, porque o compilador fará isso automaticamente interpretando-a como a classe principal executora de toda a aplicação por causa do método main associado, e quando o interpretador java instanciá-la, automaticamente vai inicializar todas as variáveis e objetos declarados no método construtor, e inclusive executar todos os métodos que por ventura são invocados dentra dele.

 

Cappichi

 

Um abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.