Basico sobre metodos

2 respostas
G

To com um livro aqui cheio de exemplo mas nao explica o seguinte:

Peguemos como exemplo os metodos abaixo:

Metodo 1:
public static void main(String [] args){

Metodo 2:
private short escolhe(){

Metodo 3:
static long codigoacesso(){

Metodo 4:
private static void grava(){

Minhas duvidas sao:

-O metodo 1 eh publico(todo mundo acessa ele) nao tem retorno por causa do VOID mas para que server aquele static ali? Afinal… o metodo eh publico ou eh static?

-O metodo 2 o short eh para indicar que ele vai retornar um valor do tipo short, correto?

-O metodo 3 tem ele retorna um long. Mas o que eh um metodo static?Eh que soh poderah ser acessado de dentro da propria classe?

Agradeco qq tipo de ajuda
Bjos
Giovana

2 Respostas

C

Para lhe explicar o funcionamento de static a melhor forma é mostrando um exemplo simples :
Considere a seguinte classe :

public class Teste{
                 public void writeMessage( String msg ){
                      System.out.println( msg );
                 }

                 public static void writeMessage2( String msg ){
                      System.out.println( msg );
                 }
           }
Note que a classe tem dois métodos que fazem a mesma coisa, sendo um método de instância e outro static. A principal diferença entre os dois é que o primeiro precisa de uma instância para ser chamado, ou seja :
Teste teste = new Teste();
           teste.writeMessage( "Testando um metodo de instância");

já o segundo , como é static , não precisa de uma instância para ser chamado, assim :

Teste.writeMessage2( "Testando metodos static");

Note que ao invés de usar nomeDaVariavel.nomeDoMetodo(...) usamos NomeDaClasse.nomeDoMetodo(...).
Esta é um das várias diferenças entre tipos estaticos e não estáticos, aconselho vc a ler a seção da JLS que trata sobre tipos static.

Bani

Também tem um artigo sobre static aqui no GUJ.

Criado 26 de outubro de 2003
Ultima resposta 26 de out. de 2003
Respostas 2
Participantes 3