Casting
TI 1°Ano - “conversões de Casting”
Casting
A operação de casting é usada quando se quer converter tipos de dados em uma expressão. Esse tipo de conversão só é possível quando os tipos de dados são tipos compatíveis entre si. Tai tipos tanto podem ser primitivos como objetos. up cast: variável de tipo menos especifico recebe valor/referencia da variável de tipo mais especifico.
É realizado implicitamente, ou seja, não precisa colocar o tipo menos especifico entre parênteses down cast: variável de tipo mais especifico recebe valor/referencia da variável de tipo menos especifico.
Precisa ser realizado explicitamente, ou seja, precisa colocar o tipo menos especifico entre parênteses
Lembrando que com o down cast de objetos, não se perde nada pois a variável sempre recebe uma referencia.
Agora com o down cast de tipos primitivos, quando a variável mais especifica contiver um valor maior que a magnitude da variável menos especifica, esse valor será truncado. 20121323 - Rodolfo Placido Siqueira
TI 1°Ano - “conversões de Casting”
Regras de Cast
Conversões de tipos no Java podem ser um pouco confusas, pois temos regras para tempo de compilação e de execução. Por exemplo, temos duas classes:
1. public class Veiculo {
2.
3. public static void main(String[] args) {
4.
5. }
6.
7. }
8.
9. class Carro extends Veiculo {
10.
11.
12. }
Um dos casos mais comuns é a conversão ampliadora ou upcasting, onde um tipo mais genérico pode referenciar outro mais específico (um subtipo): 1. Veiculo v = new Carro();
Temos uma variável de referência do tipo Veiculo que aponta para um objeto do tipo Carro. Sabemos que o contrário não pode ser feito e causa erro de compilação, porque Carro É-UM
Veiculo, mas Veiculo NÃO-É-UM Carro.
A conversão ampliadora é totalmente segura, não causará erros de compilação nem execução. E também não exige nenhuma declaração explícita. Simplesmente fazemos a referência e o