> Pessoal, > > O que significa o static em cada uma das declarações abaixo: > > public static int getNumber() { return valor; } > public static void main (String args[]) {...}
Simplificadamente: Em métodos significa que você não precisará criar instâncias das classes para usar os métodos. Se o método getNumber estiver em uma classe Numero, você não precisará fazer Numero x = new Numero(); ... int y = x.getNumber(); podendo fazer diretamente int y = Numero.getNumber(); No caso do main, que é o ponto de entrada de uma classe executável, vale a mesma regra: não é necessário criar uma instância da classe que o contém. > public static int valor = 0; Isso quer dizer que o campo valor será um único, compartilhado por todas as instâncias da classe que o contém *e* pela própria classe. Se a classe que o contém for, por exemplo, MinhaClasse, o trecho de código MinhaClasse a = new MinhaClasse(); MinhaClasse b = new MinhaClasse(); MinhaClasse c = new MinhaClasse(); a.valor = 1; b.valor++; System.out.println(c.valor); MinhaClasse.valor++; System.out.println(a.valor); imprimirá 2 e 3. espero ter ajudado Rafael ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------