| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> Java Programming >> Content
    Come typecast in Java 6
    Nella programmazione di computer , fusione di caratteri si riferisce a prendere un oggetto di un tipo e la sua conversione in un oggetto di un altro tipo . In Java 6 , questo di solito , ma non sempre , coinvolge sia upcasting o downcasting , che significa lanciare un oggetto verso l'alto o verso il basso la gerarchia di ereditarietà . Istruzioni
    1

    incollare le seguenti classi Java in un file di testo vuoto . Questi sono la classe che verrà utilizzata per il tutorial :

    class Person { }

    MalePerson public class public Persona { }
    2

    Incollare il seguente upcast :

    persona p = new MalePerson ( " Tom " ) ;

    la classe MalePerson è una sottoclasse di persona, quindi questo è un cast in alto nella gerarchia . Upcasting è il più semplice tipo di cast per tirare fuori . Java sa semplicemente cosa fare quando una sottoclasse è assegnato a uno dei suoi antenati . Fare una nota mentale , però : Java sarà sempre ricordare ciò che un oggetto è realmente nel corso di una upcast . Anche ora che la MalePerson " Tom" è stato assegnato a un oggetto persona generico , Java ricorda che questo oggetto è davvero un MalePerson
    3

    Incollare il seguente abbattuto : .
    < P > persona p = new MalePerson ( " Tom " ) ;

    MalePerson m = ( MalePerson ) p ;

    downcast come questo , che si muovono verso il basso della gerarchia, richiede al programmatore di specificare il tipo di classe utilizzato per il cast in parentesi . Tuttavia, downcasting è più complessa di upcasting
    4

    Tentativo seguente abbattuto :

    Persona p = new Persona ( " Jane " ) ;

    MalePerson m = . ( MalePerson ) p ;

    Questo tentativo non riesce , e non dovrebbe essere difficile capire perché . Mentre è ragionevole supporre che un MalePerson è una persona, non è ragionevole per il computer per scontato che tutte le persone sono MalePersons . Alcuni possono essere FemalePersons , e la differenza può o non può essere banale per scopi del computer . Giusto per essere sicuri, il programma genera un errore .

    Abbattuto può avvenire solo se un upcast è verificato prima , motivo per cui il upcast al punto 3 era valido , ma non al punto 4. Questo può rendere il suono upcasting inutile in un primo momento . Si pone la questione del perché la upcast è stata eseguita in primo luogo , ma sostengono che il pensiero
    5

    consideri il seguente metodo : .

    Public void saluta (Persona p ) {

    se ( p instanceof MalePerson ) {

    MalePerson m = ( MalePerson ) p ;

    m.doMaleThings () ;

    } else if ( p instanceof FemalePerson ) {

    FemalePerson f = ( MalePerson ) p ;

    f.doFemaleThings ();

    } else throw new GenderConfusionException ( ) ;

    }

    l'autore di questo metodo non ha alcun modo di sapere in anticipo se questo metodo viene chiamato con un MalePerson o un oggetto FemalePerson , così usa l' oggetto Person generico . Poi , usa il comando instanceof per eseguire il polling della Persona dato e vedere se lui dovrebbe farlo abbattuto come un maschio o di una persona di sesso femminile .

    Previous :

    next :
      Articoli Correlati
    ·Come usare i colori in Java 
    ·Come moltiplicare due numeri interi a più cifre in Jav…
    ·Come integrare Android con Eclipse 
    ·Come estendere una classe astratta 
    ·L' Applet Java non riuscito 
    ·Differenza tra Servlet e Struts 
    ·Come impostare il colore di una barra di scorrimento in…
    ·Java & Risolto errore di compilazione 
    ·Java 1.5 Tutorial 
    ·Come aggiungere una GUI di Java Code 
      Articoli in evidenza
    ·Come Loop Riempire un array a 2 dimensioni in C + + 
    ·Come cercare i dati in un file con VB Script 
    ·Come riferimento a un'immagine in C + + 
    ·Esempi di Python XML Processing 
    ·Stringhe comuni a C 
    ·Come rendere un altro controller in Ruby 
    ·Che cosa è un metodo di costruzione in Java ? 
    ·Come scaricare ARES 
    ·Come utilizzare JavaScript e PHP in validazione Form 
    ·Come trovare una directory e sottodirectory in VBA 
    Copyright © Conoscenza Informatica http://it.wingwit.com