Pq o método main é static?

7 respostas
W

Galera…
eu gostaria de saber pq o método main é static…
tenhu essa dúvida…
se alguem puder me responder!
Vlw

7 Respostas

maquiavelbona

Procure no fórum, essa pergunta já foi respondida várias vezes. Não deixe a preguiça contaminar seu sábado.

Até!

W

É que eu toh precisando urgente pra responder uma questao do curso…
mas achu q posso procurar sim! :slight_smile: :smiley:

W

ok…
jah encontrei nos tutoriais do GUJ.
:smiley:

S

Willen:
Galera…
eu gostaria de saber pq o método main é static…
tenhu essa dúvida…
se alguem puder me responder!
Vlw

Primeiro é necessário entender o STATIC, em resumo, significa que um método(por exemplo) está acessível sem que seja necessário criar uma instância de sua classe.

Imagine que temos a classe Cliente e que tenhamos um método calculaIdade, para podermos acessar esse método teriamos que gerar uma instancia da classe Cliente e então chamar o método, o que nem sempre é conveniente, ai é que entra o static, bastando declarar o método com esse modificador de acesso.
Quando usamos o static significa que ele estará disponível na memória sem o uso no “new”

Então…

O main por ser o método que da “boot” na aplicação precisar estar disponível na memoria para podermos startar a aplicação…

Att,

Sandoval César
Sistemas de Informação
Universidade Estadual de Goiás

Marcio_Nogueira

O método main é definido como estátic por pertencer a clesse, e deve haver apenas uma única instância deste.

LPJava

po galera, essa duvida é normal… e quando está começando… a sintaxe do java é muito confuso… mesmo para quem ja programou em outra linguaguem…
Bom o main é static porque pertence a class (classe) como o oamigo acima falou… mais isso nao é uma particularidade do main… qualquer membro da classe se vc colocar o modificador static vai pertencer a classe. Ai vem outra duvida, mais qual a essencia disso? Voce nao precisa dar new para acessar o membro. Olha a regra abaixo:

variaveis - o valor é compartilhado
métodos - nao pode ser subscrito e pode ser acessado diretamente

a ideia de ter o modificador static é como abaixo veja:

//static
class Sta{
static int num=0;

public static void main(String []args){
System.out.println(num);
}}
//observe que o acesso é direto nao preciso criar um objeto(instancia) da classe para acessar

olha esse:

//sem o static
class Sta{
 int num=0;

public static void main(String []args){
Sta objt = new Sta();
//olhe que tive que instancia o objeto para acessar a variavel que nao é static.
System.out.println(objt.num);
}}
//isso nao compila
class Sta{
int num=0;

public static void main(String []args){
System.out.println(num);
// vc nao pode acessar um membro nao static, dentro de um contexto static, sem ter uma instancia da classe
}}

bom espero ter ajudado! se tiver usando algum livro… dar uma lida no capitulo que fala sobre modificadores de acesso.

flw! :smiley:

cassio

Instância de método? :shock:

Criado 27 de outubro de 2007
Ultima resposta 29 de out. de 2007
Respostas 7
Participantes 6