Passering med Värde i Java
Svep för att visa menyn
Förståelse av passering med värde i Java
I Java skickas alla metodargument med värde. Detta innebär att när du skickar en variabel till en metod, kopierar Java värdet av den variabeln och skickar kopian till metoden. Metoden arbetar sedan med denna kopia, inte den ursprungliga variabeln från din kod.
- När du skickar en primitiv typ (såsom
int,doubleellerboolean), får metoden en kopia av det faktiska värdet. Eventuella ändringar av parametern inuti metoden påverkar inte den ursprungliga variabeln utanför metoden; - När du skickar en objektreferens (som en array eller en egen klass), skickar Java fortfarande värdet av referensen (minnesadressen). Metoden får en kopia av denna referens, så både den ursprungliga och metodparametern pekar på samma objekt. Du kan ändra objektets interna tillstånd inuti metoden, men om du tilldelar ett nytt objekt till parametern påverkas inte den ursprungliga referensen utanför metoden.
Detta beteende är viktigt för att förutsäga hur dina variabler förändras—eller förblir oförändrade—efter metodanrop 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 denna kod tar metoden changeValue emot en kopia av variabeln number eftersom Java använder passering med värde.
Att ändra num inuti metoden påverkar inte number i main, så dess värde förblir 10 efter metodanropet.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal