Dúvida sobre static [RESOLVIDO]

9 respostas
magocebolinha

E ai pessoal!

Então no meu processo de “reaprendizagem” de java, já to fazendo metodos normalmente me aventurando por arrays, classes internas e interfaces… mas tenho uma dúvida muuuito simples… utilizo o static e pelo que entendo ele só serve para que seja acessado por membros também static de uma ou de outra classe é isso? sinto que esta faltando algum detalhe nesse meu entendimento…hehe… obrigado a todos!

9 Respostas

rodrigo.bossini

Dá uma olhada aqui.

Java_Lover

[color=black]Não quero ser grosseiro. Mas colocando um link de busca do Google não contribuiu em nada na comunidade. :thumbdown:
Insegurança em arriscar mostrar seus conhecimentos irrisórios ? :XD: [/color]

Java_Lover

magocebolinha:
E ai pessoal!

Então no meu processo de “reaprendizagem” de java, já to fazendo metodos normalmente me aventurando por arrays, classes internas e interfaces… mas tenho uma dúvida muuuito simples… utilizo o static e pelo que entendo ele só serve para que seja acessado por membros também static de uma ou de outra classe é isso? sinto que esta faltando algum detalhe nesse meu entendimento…hehe… obrigado a todos!


Respondendo a sua dúvida…
O uso do static em métodos garante sua utilização sem instância do objeto que agrega a funcionalidade.
No caso de variáveis, serve pra acesso ao valor no contexto da aplicação.

tgmarinho

public static void main(String[] args) { // }

[size=18]o q isso qr dizer?[/size]

public static void main(String[] args) é uma classe publica, pois ela é a classe principal(main) do programa.

Public = algo publico, classe q pode ser acessado por todas outras classes do sistema.

Static = Segundo R. R. FILHO, Desenvolva Aplicativos com Java 2: "Static é uma identificador que diz que a implementação do método deve ser compartilhada com todas as instâncias que forem feitas da classe original que o contém. Isso facilita e simplifica os códigos, uma vez que existindo um número muito grande de instâncias da classe original, qualquer alteração que for necessária na implementação do método é feita uma vez só e é percebida por todas as cópias da classe original ao mesmo tempo?.

Void = a palavra VOID quer dizer vazio, esse termo identifica o tipo de retorno que o método main vai fornecer.

Main = é um método, e é o método principal de uma classe, ele faz executar as informações no seu corpo, se retornar nada. O método main é desprovido de valor de retorno.

(String[] args) ou pode ser escrita assim (String arg[]) = o método main tem entre parênteses o parâmetro String que é uma variável cujo o nome é args, e o [] significa que é um vetor, ou seja, que pode armazenar vários valores.

Segundo R. R. FILHO, Desenvolva Aplicativos com Java 2: ?O método main não retorna valor por isso ele usa o identificador de tipo de retorno void?.

espero ter ajudado! créditos ao livro já citado q estou lendo! =)

mto importante saber isso, pois não a lógica resolver um problema sem saber qual é o problema, então, como vou programar se não sei pra que serve isso, aquilo. rsrs =) vamos q vamos!

rvcabral

se você criar uma váriável stática, ela não será reiniciada assim que estanciares uma nova classe.

exemplo posso criar um contador para saber quantas vezes instanciei aquela classe.

public static int cont.

numa classe de testes posso fazer 10 instancias da classe.

classe c1 = new Classe();

classe c2 = new Classe();

…

classe c10 = new Classe();

fazendo testes podes verificar que todas as variáveis são reiniciadas para cada objeto, com exceção das staticas.

é isso.

abraços

M

Boa tarde a todos…
tbm estou iniciando meus estudos me java e acompanhando de perto o forum diariamente…
bom quanto a pergunta do mago segue com eu entendo:
podemos usar static quando precisamos de uma varivel unica e que vai ser compartilhada por todos os objetos dessa classe…
quando criamos um atributo com static ele nao é um atributo do objeto e sim da classe na qual ele foi criado…
pensa assim temos nossa classe um atributo static chamado count por ex…
bom toda vez que mudarmos o valor desse atributo num objeto esse valor vai ser compartilhado com todos os demais objetos dessa classe…

e lembrando que Métodos e atributos estáticos só podem acessar outros métodos e atributos estáticos da mesma
classe!

desculpa se falei falei alguma coisa que não seja 100% verdadeira :slight_smile:
abraços

Marcio

magocebolinha

Ae pessoal… vlw pelo help… entendi o que estava faltando hehe… por isso que eu gosto desse forum… aqui todo mundo se ajuda mesmo… (exceto quem passa links do google para perguntas plausíveis) vlw a todos mais uma vez!!

rogelgarcia

É porque ele também nao entende de static…

Vejam:

http://www.guj.com.br/posts/list/201867.java

:smiley:

Já que é pra por fogo… vamos por…

magocebolinha

rsrsrs… ki zuado… nem vou comentar…

Criado 26 de março de 2010
Ultima resposta 26 de mar. de 2010
Respostas 9
Participantes 7