In Java-programma's , worden alle variabelen krijgen een specifieke en onveranderlijke aard wanneer zij eerst worden gedeclareerd. Dus , als je een integer variabele genaamd creëren " numApples , " je kunt niet die variabele verandert in een dubbele of string als het programma wordt uitgevoerd. Deze kwaliteit maakt Java een " sterk getypeerde ' taal en maakt het mogelijk om een aantal potentiële problemen te vangen als het programma compileert ipv terwijl het programma draait . Een van de mogelijke problemen is een operatie met incompatibele types . Oorzaak Er zijn verschillende bugs die kunnen leiden tot Java om een incompatibele types fout te gooien tijdens het compileren van je programma . In de eenvoudigste fout , kan u hebt geprobeerd een incompatibel type wordt toegekend aan een variabele . Bijvoorbeeld , als je een integer variabele aangemaakt , kunt u de waarde 1,3 heeft toegekend. U kunt ook hebben geprobeerd om een incompatibele variabele overgaan in een methode , een methode die alleen accepteert een array van strings als argument niet kunnen accepteren een snaar . Dit probleem kan ook worden veroorzaakt door een onjuiste syntaxis van een Booleaanse vergelijking . Als u probeert om te controleren of de integer numApples is gelijk aan 1 ( numApples == 1 ) , maar je weglaat een gelijk-teken , zul je in plaats daarvan stellen dat numApples is gelijk aan 1 ( numApples = 1 ) . De eerste verklaring resulteert in een boolean soort , terwijl de tweede evalueert naar een integer type. Als u de tweede verklaring in een functie waar een boolean type is noodzakelijk plaatst , zal het programma een incompatibele types fout te gooien . Casting Als u nodig hebt om een passeren variabele naar een methode die geen ondersteuning biedt dat type variabele , kunt u in staat om het te werpen op een ander type . Bijvoorbeeld, als een methode ondersteunt alleen gehele getallen , maar je wilt een dubbele passeren , kunt u tijdelijk het dubbele aan een integer zetten door toevoeging van " ( int ) " in de voorkant van de dubbele variabele als u deze doorgeven aan de methode . Casting zal niet veranderen de opgeslagen variabele maar het kan de waarde die wordt uitgebracht veranderen . Gieten van een dubbele die gelijk is aan 3,2 tot een integer zal de integer 3 terug . Overbelasting Als u nodig hebt om verschillende soorten variabelen doorgeven aan de dezelfde methode kunt u een overbelaste methode te creëren . Overbelaste methoden zijn duplicaten van een methode die dezelfde naam hebben , maar accepteren diverse argumenten . Bijvoorbeeld , kon u twee versies van een add -methode in dezelfde klasse , die twee dubbele waarden en een andere die twee float waarden accepteert aanvaardt creëren . Als u belt toevoegen en doorgeven twee float waarden , zal het programma automatisch de methode die u hebt opgegeven voor float waarden uitvoeren . Inheritance Bij het werken met geavanceerde vormen , kunt u incompatibele types fouten te voorkomen door het instellen van een methode om de ouder van elk type dat u wilt gaan in het te accepteren . Dan dubbele calculateSquareFootage ( Gebouw ingang ) op U kunt: bijvoorbeeld als u een methode om de vierkante meters van een gebouw te berekenen gemaakt , je moet instellen op een gebouw te aanvaarden als argument passeren in elk gegevenstype dat het gebouw datatype , zoals een school , gevangenis of ziekenhuis data type erft .
|