Passering med Verdi i Java
Sveip for å vise menyen
Forstå passering med verdi i Java
I Java blir alle metodeargumenter sendt med verdi. Dette betyr at når du sender en variabel til en metode, kopierer Java verdien av denne variabelen og sender kopien til metoden. Metoden arbeider deretter med denne kopien, ikke den opprinnelige variabelen fra koden din.
- Når du sender en primitiv type (som
int,doubleellerboolean), mottar metoden en kopi av selve verdien. Eventuelle endringer gjort på parameteren inne i metoden påvirker ikke den opprinnelige variabelen utenfor metoden; - Når du sender en objektreferanse (som et array eller en egendefinert klasse), sender Java fortsatt verdien av referansen (minneadressen). Metoden mottar en kopi av denne referansen, slik at både den opprinnelige og metodeparameteren peker til det samme objektet. Du kan endre objektets interne tilstand inne i metoden, men hvis du tildeler et nytt objekt til parameteren, påvirkes ikke den opprinnelige referansen utenfor metoden.
Denne oppførselen er viktig for å forutsi hvordan variablene dine endres—eller forblir uendret—etter kall til metoder i Java.
Main.java
123456789101112131415package com.example; public class Main { public static void main(String[] args) { int number = 10; System.out.println("Before method call: number = " + number); changeValue(number); System.out.println("After method call: number = " + number); } public static void changeValue(int num) { num = 20; System.out.println("Inside method: num = " + num); } }
I denne koden mottar metoden changeValue en kopi av variabelen number fordi Java bruker passering med verdi.
Endring av num inne i metoden påvirker ikke number i main, så verdien forblir 10 etter metodekallet.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår