Difference between revisions of "Exemplos de Classes em Java"

From Wiki**3

(''Hello World'')
Line 1: Line 1:
 
== Exemplos de Classes ==
 
== Exemplos de Classes ==
 +
 +
Material apresentado na Aula 02.
  
 
=== Classe com atributo <code>static</code> ===
 
=== Classe com atributo <code>static</code> ===

Revision as of 16:15, 15 October 2005

Exemplos de Classes

Material apresentado na Aula 02.

Classe com atributo static

O atributo é partilhado por todas as instâncias da classe.

class StaticInt {
  static int i = 1;
}

Utilização hipotética:

StaticInt.i++;

Utilização possível, mas não recomendada:

StaticInt si = new StaticInt();
si.i++;        // i é independente de si

O mesmo fragmento, com o mesmo significado, mas melhor estilo (a referência a i faz-se através da classe e não de um objecto particular):

StaticInt si = new StaticInt();
StaticInt.i++;

Ou seja, o facto de existirem objectos de uma classe não significa que sejam a forma preferencial para invocar métodos.

Classe com método static

O método pode ser invocado sem que seja necessária a existência de instâncias da classe. Isto quer dizer que o método se comporta, na realidade, como uma função (não necessita do contexto de nenhum objecto em particular).

Definição das classes:

class StaticInt { static int i = 1; }  // exemplo anterior
class StaticMeth {
  static void incr() { return StaticInt.i++; }
}

Invocação do método:

StaticMeth.incr();    // o valor de StaticInt.i é agora 2

Utilização possível, mas não recomendada (ver explicação acima):

StaticMeth sm = new StaticMeth();
sm.incr();        // incr é independente do contexto de sm

Hello World

O tradicional programa, em versão Java:

public class Hello {
  public static void main(String[] args) {
    System.out.println("Hello world!");
  }
}