terça-feira, 10 de junho de 2014

Palavra reservada THIS

A palavra reservada this é usada quando se quer fazer uma referencia a um objeto ou chamar um construtor da própria classe. Geralmente chama-se um construtor da própria classe quando queremos evitar a repetição de código. Por exemplo, se tiver uma variável global e uma local com o mesmo nome, o this.variável fará referência a variável local dentro do método. Isso nada mais é do que uma das regras ou a principal regra da Programação Orientada a Objetos, o reuso de código.

Exemplo:
public class Contato {
private String nome;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}

Pra não esquecer:
Você só pode inserir this()  dentro de um construtor e essa deve ser a primeira instrução do construtor.


Melissa Lobo.

Classes Wrapper

Uma classe wrapper é uma classe empacotadora, há uma classe wrapper para cada tipo primitivo em Java. Por exemplo, a classe wrapper para o tipo int é Integer, para o float é Float, e assim por diante. O nome do tipo primitivo é simplesmente o nome em minúsculas do wrapper, exceto para char, que passa a ser Character, e int, que a passa a ser Integer.

O wrapper fornece métodos de objeto para os oito tipos primitivos. Como por exemplo os métodos equals(Object) e toString, o primeiro é utilizado para comparações enquanto que o segundo permite que o conteúdo de um objeto seja representado em formato de texto.

Usamos  os tipos primitivos porque eles são mais rápidos e consomem menos memória, permitem operações mais complexas e são eficientes quando usados em laços e expressões. Porém os tipos primitivos não podem ser utilizados em Collections, só objetos. Sendo assim, a solução é usar Wrappers.

Melissa Lobo.

quinta-feira, 5 de junho de 2014

Todas as classes em Java estendem a classe Object

Pra não esquecer:
A classe object é a mãe de todas as classes; é a superclasse de tudo.

Diferença entre Métodos Sobrecarregados e Subscritos

Métodos
SobrecarregadosSubscritos
Lista de argumentosDeve ser alteradaNão deve ser alterada
Tipo de retornoPode ser alteradoNão deve ser alterado
ExceçõesPodem ser alteradasPodem ser reduzidas ou eliminadas. Não devem ser lançadas novas ou abrangentes
AcessoPode ser alteradoNão deve se tornar mais restritivo. Pode se tornar menos restritivo
ChamadasO tipo da referencia determina que versão sobrecarregada (baseada nos tipos de argumentos declarados) será selecionada. O método real a ser chamado ainda terá uma chamada virtual no tempo de execução, a coincidência de argumentos já terá sido definida, só faltando a classe real onde o método reside. O tipo do objeto (em outras palavras, o tipo da instancia real na memória) será selecionado. Isso ocorrerá a todo instante

terça-feira, 3 de junho de 2014

Array (Vetor)

Em Java, os Arrays são objetos que armazenam múltiplas variáveis do mesmo tipo, ou variáveis que são todas subclasses do mesmo tipo. É comum ouvirmos "array de objetos". Porém quando criamos um array de alguma classe, ele possui referências. O objeto, como sempre, está na memória principal e, no seu array, só ficam guardadas as referências (endereços). Os arrays podem armazenar ou primitivos ou referências a objetos, mas o próprio array será sempre um objeto no heap (falarei mais sobre o heap, em breve), mesmo se o array declarado para armazenar elementos primitivos. Em outras palavras, não existe um array primitivo, mas você pode criar um array de primitivos.

Como os Arrays são declarados? 
Informando-se o tipo de elementos que o array irá armazenar (um objeto ou primitivo), seguido por colchetes em um dos lados do identificador. Lembrando que uma array de tipos primitivos guarda valores, uma array de objetos guarda referências.
Exemplo:

int[] testes;

int[] é um tipo. E como um array é sempre um objeto, a variável testes é uma referência. Vamos precisar criar um objeto para poder usar o array.
Exemplo:

testes = new int[10];

E você pode (deve) fazer isso diretamente assim:

int[] testes = new int[10];

Pra não esquecer:
Ao declarar uma referencia ao array, você deve sempre colocar os colchetes do array imediatamente depois do tipo declarado, em vez de depois do identificador (nome da variavel). Dessa forma, qualquer um que leia o código saberá facilmente que, por exemplo, testes é uma referência a um objeto de array int, e não um tipo primitivo int.

Criamos um array de int de 10 elementos e atribuímos o endereço no qual ele foi criado.
Podemos ainda acessar os elementos do array:
Exemplo:

testes[5]= 8;

O código acima altera o quinto elemento do array, como pode ver na ilustração abaixo.
| | | | |8| | | | | |

Cada item em um array é chamado de elemento, e cada elemento é acessado pela posição numérica. Como na ilustração abaixo as posições são numeradas a partir do 0 (zero). O 5º elemento, por exemplo, é acessado na posição 4.
|0|1|2|3|4|5|6|7|8|9| -> Posições
 | | | | | | | | | |
 1 2 3 4 5 6 7 8 9 10 -> Elementos

Lembrando que na declaração de um array, cada elemento recebe um valor padrão, sendo 0 (zero) para números de tipo primitivo, falso (false) para elementos booleanos e nulo (null) para referências.

Arrays multidimensionais
Pois é, ainda não acabou! Um array pode ter mais de uma dimensão. Isto é, em vez de termos um array de 10 testes, podemos ter um array de 10 por 10 testes e você pode acessar o teste na posição da coluna x e linha y. Na verdade, um array bidimensional em Java é uma array de arrays. Parece confuso mas é simples, a ilustração deixa bem claro.
Exemplo:
Não vou entrar muito a fundo nessas dimensões, mas vocês podem pesquisar mais a respeito se desejarem. Enfim em Java é fundamental entender o funcionamento de um Array e saber como utilizá-lo. Como podem ver não é tão difícil e é bem útil guardar objetos e valores em um array.

Pra não esquecer:

tipo[] nome_do_array = new tipo[numero_de_elementos];
Ou:
tipo[] nome_do_array = { valor1, valor2, ...,valorx};


Melissa Lobo,