Java
Java
if (x >= 0)
x = 1;
else x = -1;
Comando de seleção
switch (expressão)
{ case valor1: bloco1;
break;
case valor2: bloco2;
break;
...
case valorN: blocoN;
break;
default: bloco N+1;
}
Comandos de Repetição
while (x>=0)
{ System.out.println(“Valor de x: ” + x);
x--;
}
do
{ x--;
System.out.println(“Valor de x: ” + x);
} while (x>0)
Comandos de Repetição (cont.)
super
this ~ self
static: método ou variável de classe
Envio de mensagens:
(classe/objeto).mensagem([param*])
Exemplo:
Final
Classe:
– não pode ser mais extendida
Método:
– não pode mais ser sobrecarregado
Variável:
– não pode mais mudar de valor
(constante)
Classes e métodos abstratos
Classes abstratas:
– reúne características comuns das subclasses
– não podem ser instanciadas (não possuem
construtor)
Métodos abstratos:
– não possui código
– devem ser implementados nas subclasses
– não pode ser static ou final
– devem pertencer a uma classe abstrata
Interface
Define tipo (~classe abstrata)
Apenas métodos públicos
Não possui código
Não possui atributos de instância
– atributos final e static são permitidos
Não possui construtor
Podem herdar de outras interfaces
Classes abstratas X interfaces
Fatoração de implementação:
– funcionalidades iguais de um conjunto de classes
podem ser implementadas apenas uma vez na
classe abstrata
Generalidade de uso:
– uma interface pode ser implementada por classes
não relacionadas
Classes abstratas X interfaces (cont.)
Expansibilidade:
– inserção de novos métodos em uma interface
implica modificação de todas as classes que a
implementam
Herança múltipla:
– cada classe pode herdar de apenas uma classe
(abstrata ou não), mas pode implementar várias
interfaces
Pacotes
Coleções de classes
java, javax, org.omg
subpacotes
nome completo de classes inclui pacote:
– String ~ java.lang.String
Definindo pacotes:
package meu_pacote;
Usando pacotes:
import java.util.*;
Alguns pacotes
java.lang
java.util
java.io
java.awt
java.math
java.net
java.beans
Estrutura de um arquivo .java
[package]
[import]
public class NomeArquivo
Arrays
Declaração:
Point [] listaDePontos;
Point listaDePontos[];
listaDePontos.length
Arrays (cont)
Criação e inicialização:
listaDeInteiros = new int[10]; //valores default
listaDeInteiros = new int {1,2,3,4,5}; //tipo implícito
(uso de array anônimo)
listaDeInteiros = {1,2,3,4,5}; //tipo e tamanho
implícitos
Point[] pontos {circulo1.getCenterPoint(),
circulo2. getCenterPoint()}
//inicialização em tempo de execução