Programação  
 
Conhecimento computador >> Programação >> Programação em Java >> 
Como Typecast em Java 6
Em programação de computadores, typecasting refere-se a tomar um objeto de um tipo e convertê-lo em um objeto de outro tipo. Em Java 6 , isso geralmente , mas nem sempre, envolve tanto upcasting ou downcasting , o que significa converter um objeto para cima ou para baixo na hierarquia de herança. Instruções
um

Copie o seguinte classes Java em um arquivo de texto em branco. Estes são a classe que será usada para o tutorial :

public class Pessoa {}

public class MalePerson estende Pessoa {}
2

Cole o seguinte upcast :

Pessoa p = new MalePerson ( "Tom" );

a classe MalePerson é uma subclasse de Pessoa, por isso este é um elenco acima da hierarquia . Upcasting é o tipo mais fácil de elenco de retirar. Java simplesmente sabe o que fazer quando uma subclasse é atribuído a um dos seus antepassados. Faça uma nota mental, no entanto : Java vai sempre lembrar o que um objeto é realmente durante uma eleve. Mesmo agora que o MalePerson "Tom" foi atribuído a um objeto pessoa genérica, Java lembra que esse objeto é realmente uma MalePerson
3

Cole o seguinte abatido : .

Pessoa p = new MalePerson ( "Tom" );

MalePerson m = ( MalePerson ) p;

downcasts como esta, que se move para baixo da hierarquia, exigem que o programador para especificar o tipo de classe sendo utilizado para a conversão em parêntesis . No entanto, downcasting é mais complexa do que fazendo um upcast
4

Tente o seguinte abatido :

Pessoa p = new Pessoa ( "Jane" );

MalePerson m = . ( MalePerson ) p;

Esta tentativa falhar , e isso não deve ser difícil perceber porquê. Embora seja razoável supor que um MalePerson é uma pessoa, não é razoável que o computador para assumir que todas as pessoas são MalePersons . Alguns podem ser FemalePersons , e a diferença pode ou não ser trivial para os propósitos do computador . Apenas para ser seguro , o programa gera um erro .

A abatido só pode ocorrer se um upcast ocorreu primeiro , razão pela qual o upcast no Passo 3 foi válido, mas não no Passo 4. Isso pode tornar upcasting soar inútil à primeira vista. Ele levanta a questão de por que o upcast foi realizada , em primeiro lugar , mas mantenha esse pensamento
5

Considere o seguinte método: .

Public void greet ( Pessoa p ) {

if ( p instanceof MalePerson ) {

MalePerson m = ( MalePerson ) p;

m.doMaleThings (); }

else if ( p instanceof FemalePerson ) {

FemalePerson f = ( MalePerson ) p;

f.doFemaleThings (); } else

lançam novo GenderConfusionException ( ); }


o escritor deste método tem nenhuma maneira de saber com antecedência se este método será chamado com uma MalePerson ou um objeto FemalePerson , então ele usa o objeto Pessoa genérico. Em seguida , ele usa o comando instanceof para sondar a Pessoa dado e veja se ele deveria downcast -lo como um homem ou uma pessoa do sexo feminino .

Anterior :

Próximo : No
  Os artigos relacionados
·Como atualizar o cache do meu Java Applet 
·Como usar um controlador em Java 
·Como adicionar linhas em JTable 
·Como criar etiquetas em Java GUI 
·Como fazer o download do Eclipse para Android 
·Como definir Sessão Atributos no JSP 
·A altura de uma árvore binária em Java 
·Como usar SQL com Java 
·Como usar o ABS em Java 
·O que é referência estática em Java 
  Artigos em destaque
·Como vincular a um tipo de objeto com WPF 
·Como retornar um ponteiro para um vetor 
·Como converter um projeto Xcode em arquivos 
·Como converter PSD para Joomla 
·Como converter binário para Byte 
·Como usar códigos de barras em Java 
·Como formatar Colunas em Java 
·Como determinar numérico de precisão em Fortran 
·Como programar jogos em C + + 
·Como enviar um soquete de texto em UDP em Linux 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados