Dumaan sa Halaga at Pass sa pamamagitan ng Sanggunian sa Java

Tinutulungan ka ng blog na ito na maunawaan ang Pass by Value at Pass by Reference sa Java. Ipinapaliwanag din nito kung bakit ang Java ay tinukoy bilang Pass by Value na may halimbawa.

Ang Java ay isa sa pinakamahalagang mga wika sa pagprograma na maaaring kunin ng sinuman. Napakadali nito sa parehong oras, ang posibilidad ng kung ano ang maaari mong paunlarin gamit ang Java, ay walang katapusan!Ito ang gumagawa ng Java na pinakalawak na ginagamit na wika sa industriya ngayon.Tutulungan ka ng blog na ito na maunawaan ang tungkol sa pass by value at ang pass by refer sa Java sa sumusunod na pagkakasunud-sunod:

Dumaan sa Halaga at Pass sa pamamagitan ng Sanggunian sa Java

Dumaan sa Halaga at Pass sa pamamagitan ng sanggunian ay ang dalawang paraan kung saan maaari naming ipasa ang isang halaga sa variable sa isang pagpapaandar.





istraktura ng data at algorithm sa java
  • Dumaan sa Halaga: Ito ay isang proseso kung saan ang mga halaga ng parameter ng pag-andar ay nakopya sa isa pang variable at sa halip ang object na kinopya ay naipasa. Kilala ito bilang tawag sa pamamagitan ng Halaga.

  • Dumaan sa Sanggunian: Ito ay isang proseso kung saan ang aktwal na kopya ng sanggunian ay naipasa sa pagpapaandar. Ito ay tinawag ng Sanggunian.



Sa pakikipag-usap tungkol sa Java, masasabi nating ang Java ay Pass by Value at hindi dumaan sa sanggunian.

Ilalarawan namin ang napakasipi na pahayag ng programa.

Paglalarawan kasama ng Programa

Sabihin nating may klase tayo Kotse tulad ng sa ibaba.



pampublikong klase Kotse {pribadong Kulay ng kulay String pampublikong Kotse () {} pampublikong Kotse (String a) {this.color = a} pampublikong String getColor () {ibalik ang kulay ng publiko walang bisa setColor (Kulay ng string) {this.color = color}

Susunod mayroon kaming isang programa na nagpapalit ng dalawang bagay.

pampublikong klase Disp {public static void main (String [] args) {Car red = new Car ('Red') Balloon yellow = new Balloon ('Yellow') swap (red, yellow) System.out.println ('pulang kulay = '+ red.getColor ()) System.out.println (' yellow color = '+ yellow.getColor ()) desc (dilaw) System.out.println (' yellow color = '+ yellow.getColor ())} pribadong static void desc (Car car) {// car = 100 balloon.setColor ('Red') // car = 100 car = new car ('Green') // car = 200 car.setColor ('Yellow') / / car = 200} // swap method public static void swap (Object o1, Object o2) {Object temp = o1 o1 = o2 o2 = temp}}

Paglabas

Pulang kulay = Pula

Kulay dilaw = Dilaw

Kulay dilaw = Pula

Paliwanag:

Kaya't tulad ng sinabi ko kanina na ang JAVA ay dumadaan sa Halaga, samakatuwid, maaari nating makita na ang unang dalawang linya sa output na swap () na pamamaraan ay hindi gumana. Gumawa tayo ng isang masusing paliwanag ng code.

Dumaan sa Halaga at Pass Sa pamamagitan ng Sanggunian sa Java

Una, lumikha kami ng isang halimbawa ng isang klase sa pamamagitan ng paggamit ng bago operator Nilikha ito at ang halaga ay nakaimbak sa lokasyon ng memorya. Samakatuwid ang pagkakataong ito ay itinuturo ang lokasyon ng memorya ng mga bagay na 'pula' at 'dilaw'. Ngayon kapag tinawag namin ang mga halaga sa mga bagong object o1 at o2 pagkatapos ay tumuturo ito sa lokasyon ng memorya ng dalawang mga bagay na 'pula' at 'dilaw'. Kaya't kapag ang pamamaraan ng pagpapalitan ay naiimbitahan sa una itinuturo nito ang lokasyon ng memorya ng 'Pula'. Sa susunod na linya, ang sanggunian ng Kotse ay binago sa susunod na address at nakaturo ito sa lokasyon ng memorya ng 'dilaw'. Samakatuwid sila ay napalitan sa pangalawang hakbang, hindi sa unang hakbang. Ito ang dahilan kung bakit ang JAVA ay tinukoy bilang Pass by Value at hindi sanggunian.

Ngayon na naintindihan mo ang Pass by Value at Pass by Reference sa Java, tingnan ang ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo. Ang kurso sa Java J2EE at SOA ng Edureka at SOA ay idinisenyo para sa mga mag-aaral at propesyonal na nais na maging isang Java Developer. Ang kurso ay dinisenyo upang bigyan ka ng isang panimula sa pag-program ng Java at sanayin ka para sa parehong core at advanced na mga konsepto ng Java kasama ang iba't ibang mga balangkas ng Java tulad ng Hibernate & Spring.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng artikulong 'Pass by Value at Pass by Reference in Java' at babalikan ka namin sa lalong madaling panahon.