I Java- programmer, er alle variabler gitt en bestemt og uforanderlig type når de først erklært . Dermed, hvis du oppretter en heltallsvariabel kalt " numApples , " du kan ikke endre den variabelen til en dobbel eller streng som programmet kjører . Denne kvaliteten gjør Java et " sterkt skrevet " språk og gjør det mulig å fange en rekke potensielle problemer som programmet kompilerer i stedet for mens programmet kjører. En av de potensielle problemene er en operasjon ved hjelp av inkompatible typer. Årsak
p Det er flere forskjellige feil som kan føre til Java for å kaste en inkompatibel typer feil under kompilering av programmet . I den enkleste feil , kan det hende du har forsøkt å tildele en inkompatibel typen til en variabel . For eksempel, hvis du opprettet et heltall variabel, kan du ikke tildele verdien 1,3 til det . Du har kanskje også forsøkt å passere en inkompatibel variabel i en metode, en metode som bare aksepterer en rekke strenger som argument ikke kan godta en enkelt streng . Dette problemet kan også være forårsaket av bruk av feil syntaks på en boolsk sammenligning. Hvis du prøver å sjekke om heltall numApples er lik 1 ( numApples == 1 ), men utelater du ett likhetstegn , vil du i stedet si at numApples er lik 1 ( numApples = 1 ) . Den første setningen evalueres til en boolean type, mens den andre evalueres til et heltall type. Hvis du plasserer den andre setningen i en funksjon der en boolsk type er nødvendig , vil programmet kaste en inkompatibel typer feil .
Casting
p Hvis du trenger å passere en variabel til en metode som ikke støtter den aktuelle type variabel , kan du være i stand til å kaste den til en annen type. For eksempel, hvis en metode bare støtter heltall , men du ønsker å passere en dobbel , kan du midlertidig konvertere den doble til et heltall ved å legge til "( int ) " foran den doble variable som du passerer den inn i metoden. Casting vil ikke endre den lagrede variabel, men det kan endre verdien som er kastet . Avstøpning en dobbel som tilsvarer 3,2 til et heltall vil returnere heltall tre .
Overbelastning
p Hvis du må passere ulike typer variabler til samme metoden, kan du opprette en overbelastet metoden . Overbelastet metoder er duplikater av en metode som har samme navn , men akseptere ulike argumenter. For eksempel kan du lage to versjoner av et tillegg metode i samme klasse , en som godtar to doble verdier og en annen som godtar to float verdier. Hvis du ringer til, og gi det to float verdier , vil programmet automatisk utføre den metoden som du har angitt for float verdier.
Arv
Når du arbeider med avanserte typer , du kan unngå inkompatible typer feil ved å sette en metode for å akseptere den overordnede av alle typer som du ønsker å passere inn i den. For eksempel, hvis du opprettet en metode for å beregne arealet av en bygning , bør du sette den til å godta en bygning som argument sitt : en
dobbel calculateSquareFootage ( Building inngang)
Du kan deretter passere i en hvilken som helst datatype som arver bygningen datatype, for eksempel en skole , fengsel eller sykehus datatype.