Java Lige efter Basics - Del 3Introduction Dette er del 3 i min serie, Java Lige efter Basics. I denne del af serien, jeg taler om Effekter af Passing Primitive og instantieres objekter til Java Methods.Passing Primitive data Type argumenter Eksempler på primitive datatyper er int og dobbelt. Når du passerer en primitiv datatype som variabel til en metode, du passerer en kopi af værdi (objekt). Ved fremgangsmåden parameteren navn Identifikatorer kopien. Du kan gøre hvad du vil gøre (ændre det, udskrive det, returnere den, etc.) med kopien i metoden.
Ved afslutningen af fremgangsmåden, er værdien af den oprindelige (uden) variabel stadig opretholdt til den variable, men parameterværdien kan have ændret. Læs og prøv følgende kode: class Illustration {void myMthd (int para) {para = 15; System.out.println (para); }} Klasse Primitive {public static void vigtigste (String [] args) {Illustration obj = new Illustration (); int var = 10; obj.myMthd (var); System.out.println (var); }} Den variable, erklæres var og tildeles (initialiseret) i den vigtigste metode. Det anvendes som argument på den opkaldende metode.
Den kaldte metode modtager, men en kopi af værdi med parameteren, stk. Parameteren er ændret, og udskrives (vist) i den kaldte metode. Ved slutningen af den vigtigste metode, er værdien af var trykt, og du bør bemærke, at værdien af Var ikke har ændret sig, hvilket bekræfter, at der i definitionen metoden (kaldet metode), er det en kopi i en anden variabel (para) der findes. Hvad jeg har sagt her gælder tilfælde af mere end ét argument og tilsvarende parametre. Så med primitive objekter, er det kopier af argumentet værdier, der er sendt og ikke de variabler themselves.
Passing instantieres objekter Når du passerer en instantierede objekt til en metode, du passerer den faktiske genstand og ikke en kopi. Eventuelle ændringer i parameter objektet i definitionen metoden sker til den angivne uden for metoden objekt. Så i dette tilfælde, variabel argumentet og parameteren variabel, der refererer (med henvisning til) det samme objekt. Læs og prøv følgende kode: class AClass {int prop = 20; } Class Illustration {void myMthd (AClass para) {para.prop = 35; System.out.println (para.
prop); }} Class instantiere {public static void vigtigste (String [] args) {Illustration obj1 = ny Illustration (); AClass obj2 = ny AClass (); obj1.myMthd (obj2); System.out.println (obj2.prop); }} Der er to klasser af interesse (AClass og instantiere) i koden. I den vigtigs