Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> Java Programming >> Content
Hoe te Typecast in Java 6
In het programmeren van computers , typecasting verwijst naar het nemen van een object van een bepaald type en omzetten in een object van een ander type . In Java 6 , dit meestal , maar niet altijd , gaat ofwel upcasting of downcasting , wat betekent dat een object werpen omhoog of omlaag het overervingshiërarchie . Instructies
1

Plak volgende Java-klassen in een leeg tekstbestand . Dit zijn de klasse die wordt gebruikt voor de tutorial :

public class Persoon { }

openbare klasse MalePerson
breidt Persoon { } kopen van 2

Plak volgende upcast :

persoon
p = new MalePerson ( " Tom " ) ;

de MalePerson klasse is een subklasse van de persoon , dus dit is een cast van de hiërarchie . Upcasting is de eenvoudigste vorm van gegoten om af te trekken . Java weet gewoon wat te doen als een subklasse is toegewezen aan een van zijn voorouders . Maak een mentale notitie echter : Java zal altijd onthouden wat een object is eigenlijk tijdens een upcast . Zelfs nu dat de MalePerson " Tom " is toegewezen aan een generieke persoon voorwerp , Java herinnert zich dat dit object is echt een MalePerson
3

Plak volgende terneergeslagen : .

Person p = new MalePerson ( " Tom " ) ;

MalePerson m
= ( MalePerson ) p ;

Downcasts
als dit , dat beweging door de hiërarchie , moet de programmeur om het type klasse opgeven wordt gebruikt om aan te gieten haakjes . Echter , downcasting is complexer dan upcasting

Poging 4 de volgende terneergeslagen :

Persoon
p = new Persoon ( " Jane " ) ;

MalePerson m = . ( MalePerson ) p ;

Deze poging mislukt , en het zou niet moeilijk te zien waarom . Hoewel het redelijk te veronderstellen dat een MalePerson is een persoon, is het niet redelijk om de computer te veronderstellen dat alle personen zijn MalePersons . Enkele kan FemalePersons , en het verschil kan wel of niet triviaal behoeve van de computer . Gewoon om veilig te zijn , het programma een foutmelding geeft .

Een neerslachtig kan alleen optreden als een upcast eerst heeft plaatsgevonden , dat is de reden waarom de upcast in stap 3 geldig was , maar niet in stap 4 . Dit kan upcasting geluid nutteloos op het eerste te maken . Het roept de vraag op waarom de upcast werd uitgevoerd in de eerste plaats , maar houd die gedachte
5

Beschouw de volgende methode : .

Public void
greet ( Persoon p ) { < >

if ( p instanceof MalePerson ) {

MalePerson m
= ( MalePerson ) p;

m.doMaleThings ( ) op ;

} br else if ( p instanceof FemalePerson ) {

FemalePerson f = ( MalePerson ) p ;

f.doFemaleThings
( ) ;

} anders werpen nieuw GenderConfusionException ( ) ;

}

de schrijver van deze methode
heeft geen manier om te weten op voorhand of deze methode wordt aangeroepen met een MalePerson of een FemalePerson object , dus hij maakt gebruik van de generieke Person object . Daarna gebruikt hij de instanceof opdracht om de persoon gegeven pollen en zien of hij zou neerslachtig het als een mannelijke of een vrouwelijke persoon .

Previous: Next:
  Java Programming
·Hoe te teller met Java 
·Monoalphabetic Vervanging Ciph…
·Hoe te Uitzondering in Java Go…
·JDK 1.6.0-7 Java Upgrade Insta…
·Java JButton & Functions 
·Hoe te Combinaties in Java Gen…
·Java String Length & Function 
·Hoe maak je een nummer Piramid…
·Hoe maak je een actie Listener…
  Related Articles
Hoe maak je een Combo Box Maak in Visual…
Hoe maak je een Check Box Maak in Visual…
Hoe maak je een tekstvak maken in Visual…
Hoe maak je een optie Box in Visual Basi…
Hoe maak je een schijf keuzelijst in Vis…
Hoe kan ik een keuzelijst maken in Visua…
Hoe kan ik een Picture Box Maak in Visua…
Hoe een bestand keuzelijst Maak in Visua…
Hoe kan ik een afbeelding Box Maak in Vi…
  Programmering Articles
·JSP Bestandstypen 
·Hoe te tellen in Binary voor Total begin…
·Hoe maak je input een functie in VB 
·Hoe te gebruiken Java om Web Service App…
·Hoe je code schrijven voor CPU Programme…
·Hoe te DSN Informatie gebruik van Java G…
·Hoe maak je een EXE Van VB6 Run 
·Letterlijke tekenreeksen in JavaScript E…
·Hoe Computer Algoritmes begrijpen 
Copyright © Computer Kennis http://www.nldit.com