Java дээр параметр дамжуулах гэж юу вэ?
Java дээр параметр дамжуулах гэж юу вэ?

Видео: Java дээр параметр дамжуулах гэж юу вэ?

Видео: Java дээр параметр дамжуулах гэж юу вэ?
Видео: Java Multithreading : AtomicReference, ScheduledExecutorService и монада Either. Многопоточность. 2024, May
Anonim

Java объектын лавлагааг утгаараа дамжуулдаг

Юу Java объектуудтай үнэхээр хийдэг нэвтрүүлэх объектын утгын лавлагаа. Тиймээс, нэгтгэн дүгнэхэд, Java үргэлж дамждаг параметр команд болон объектын аль алиных нь утгаараа. Объекттой харьцахдаа тухайн объектын лавлагааг утгаараа дамжуулдаг болохоос тухайн объект өөрөө биш.

Үүнийг харгалзан үзээд параметр дамжуулалт гэж юу гэсэн үг вэ?

параметр дамжих Хэрэглэсэн механизм параметрүүдийг нэвтрүүлэх процедур (дэд програм) эсвэл функц руу. Хамгийн түгээмэл аргууд байна руу нэвтрүүлэх бодит үнэ цэнэ параметр (утгаар нь залгах), эсвэл нэвтрүүлэх бодит байгаа санах ойн байршлын хаяг параметр хадгалагдаж байна (лавлагаагаар залгах).

Үүний нэгэн адил та Java дахь объект руу утгыг хэрхэн дамжуулах вэ? Java үргэлж дамждаг аргументууд by үнэ цэнэ , лавлагаагаар БИШ. Таны жишээн дээр та хэвээрээ байна өнгөрөх obj үүгээр үнэ цэнэ , лавлагаа өөрөө биш. ChangeName аргын дотор та өөр (орон нутгийн) лавлагаа obj-г ижил зүйлд оноож байна. обьект Та үүнийг дамжуулсан маргаан.

Мөн бид Java-д аргыг параметр болгон дамжуулж чадах уу?

онд Java 8, чи чадна одоо нэвтрүүлэх а арга илүү хялбар Lambda илэрхийлэл болон ашиглах Арга Лавлагаа. Нэгдүгээрт, зарим суурь: функциональ интерфейс нь байдаг интерфейс юм нэг ба зөвхөн нэг хийсвэр арга , гэхдээ энэ нь чадна ямар ч тооны өгөгдмөлийг агуулна аргууд (шинэ Java 8) ба статик аргууд.

Өөр өөр төрлийн параметрүүд юу вэ?

Дөрөв байна янз бүрийн төрлийн параметрүүд C# хэл дээр: утга параметрүүд (өгөгдмөл), лавлагаа параметрүүд (ref хувиргагч ашигладаг), гаралт параметрүүд (гадагш хувиргагчийг ашигладаг) болон параметр массивууд (эдгээр нь параметрийн хувиргагчийг ашигладаг). Та тэдгээрийн аль нэгийг нь үнэ цэнэ, лавлагаагаар ашиглаж болно төрөл.

Зөвлөмж болгож буй: