Passaggio per Valore in Java
Scorri per mostrare il menu
Comprendere il Passaggio per Valore in Java
In Java, tutti gli argomenti dei metodi vengono passati per valore. Questo significa che quando si passa una variabile a un metodo, Java copia il valore di quella variabile e invia la copia al metodo. Il metodo lavora quindi con questa copia, non con la variabile originale presente nel codice.
- Quando si passa un tipo primitivo (come
int,doubleoboolean), il metodo riceve una copia del valore effettivo. Qualsiasi modifica apportata al parametro all'interno del metodo non influisce sulla variabile originale al di fuori del metodo; - Quando si passa un riferimento a oggetto (come un array o una classe personalizzata), Java passa comunque il valore del riferimento (l'indirizzo di memoria). Il metodo riceve una copia di questo riferimento, quindi sia la variabile originale che il parametro del metodo puntano allo stesso oggetto. È possibile modificare lo stato interno dell'oggetto all'interno del metodo, ma se si assegna un nuovo oggetto al parametro, il riferimento originale al di fuori del metodo non viene influenzato.
Questo comportamento è importante per prevedere come le variabili cambiano—o rimangono invariate—dopo la chiamata ai metodi in 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); } }
In questo codice, il metodo changeValue riceve una copia della variabile number perché Java utilizza il passaggio per valore.
Modificare num all'interno del metodo non influisce su number in main, quindi il suo valore rimane 10 dopo la chiamata al metodo.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione