Arvon Välitys Javassa
Pyyhkäise näyttääksesi valikon
Pass by Value -periaate Javassa
Javassa kaikki metodin argumentit välitetään arvon mukaan. Tämä tarkoittaa, että kun välität muuttujan metodille, Java kopioi kyseisen muuttujan arvon ja lähettää kopion metodille. Metodi käsittelee tätä kopiota, ei alkuperäistä muuttujaa koodissasi.
- Kun välität primitivityypin (kuten
int,doubletaiboolean), metodi saa kopion varsinaisesta arvosta. Kaikki muutokset, joita tehdään parametrille metodin sisällä, eivät vaikuta alkuperäiseen muuttujaan metodin ulkopuolella; - Kun välität olioviitteen (esimerkiksi taulukon tai oman luokan), Java välittää silti viitteen arvon (muistiosoitteen). Metodi saa kopion tästä viitteestä, joten sekä alkuperäinen että metodin parametri osoittavat samaan olioon. Voit muuttaa olion sisäistä tilaa metodin sisällä, mutta jos asetat parametrille uuden olion, alkuperäinen viite metodin ulkopuolella ei muutu.
Tämä toimintatapa on tärkeä, jotta voit ennustaa, miten muuttujasi muuttuvat tai pysyvät samoina metodikutsujen jälkeen Javassa.
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); } }
Tässä koodissa changeValue-metodi vastaanottaa muuttujan number kopion, koska Java käyttää arvon mukaan välitystä.
Muuttujan num muuttaminen metodin sisällä ei vaikuta number-muuttujaan main-metodissa, joten sen arvo säilyy 10 metodikutsun jälkeen.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme