ส่งผ่านค่า --- ส่งพารามิเตอร์ประเภทข้อมูลพื้นฐาน
คัดลอกรหัสรหัส ดังต่อไปนี้:
PassValue คลาสสาธารณะ{
การแลกเปลี่ยนโมฆะแบบคงที่ (int a, int b){// วิธีแบบคงที่ แลกเปลี่ยนค่าของ a และ b
อุณหภูมิภายใน;
อุณหภูมิ = เป็น;
ก = ข;
ข = อุณหภูมิ;
-
โมฆะคงที่สาธารณะ main (String [] args) {
อินท์ ไอ = 10;
อินท์เจ = 100;
System.out.println("ก่อนโทร: " + "i=" + i + "/t" + "j = " + j);//ก่อนโทร
แลกเปลี่ยน (i, j); // การถ่ายโอนค่าวิธีการหลักสามารถเรียกวิธีคงที่เท่านั้น
System.out.println("หลังการโทร: " + "i=" + i + "/t" + "j = " + j);//หลังการโทร
-
-
ผลการวิ่ง:
คัดลอกรหัสรหัส ดังต่อไปนี้:
ก่อนโทร: i = 10 j = 100
หลังจากโทร: i = 10 j = 100
หมายเหตุ: เมื่อเรียกการแลกเปลี่ยน (i, j) พารามิเตอร์จริง i และ j จะส่งผ่านค่าไปยังพารามิเตอร์ทางการที่เกี่ยวข้อง a และ b ตามลำดับ เมื่อดำเนินการแลกเปลี่ยนวิธีการ () ค่าของรูปแบบที่เป็นทางการจะเปลี่ยนไป พารามิเตอร์ a และ b ไม่ส่งผลต่อพารามิเตอร์จริง ค่าของ i และ j ไม่มีการเปลี่ยนแปลงทั้งก่อนและหลังการโทร
ส่งผ่านโดยการอ้างอิง --- วัตถุเป็นพารามิเตอร์
คัดลอกรหัสรหัส ดังต่อไปนี้:
หนังสือเรียน{
ชื่อสตริง;
ราคาโฟลตส่วนตัว
หนังสือ (สตริง n, ลอย) // วิธีการก่อสร้าง
ชื่อ = น;
ราคา = p;
-
การเปลี่ยนแปลงโมฆะแบบคงที่ (จอง a_book, สตริง n, โฟลต p) // วิธีการแบบคงที่, วัตถุเป็นพารามิเตอร์
a_book.name = n;
a_book.price = p;
-
โมฆะสาธารณะเอาท์พุท () // วิธีการอินสแตนซ์ข้อมูลวัตถุเอาท์พุท
System.out.println("ชื่อ: " + ชื่อ + "/t" + "ราคา: " + ราคา);
-
-
PassAddr คลาสสาธารณะ{
โมฆะสาธารณะคงหลัก (สตริง [] args) {
หนังสือ b = หนังสือใหม่ ("java2", 32.5f);
System.out.print("ก่อนโทร:/t"); //ก่อนโทร
ข.เอาท์พุท();
b.change(b, "c++", 45.5f); //ถ่ายโอนการอ้างอิง ถ่ายโอนการอ้างอิงของวัตถุ b แก้ไขค่าของวัตถุ b
System.out.print("หลังการโทร:/t"); //หลังการโทร
ข.เอาท์พุท();
-
-
ผลการวิ่ง:
คัดลอกรหัสรหัส ดังต่อไปนี้:
ก่อนโทร: ชื่อ: java2 ราคา: 32.5
หลังจากโทร: ชื่อ:c++ ราคา:45.5
หมายเหตุ: เมื่อเรียก change(b,"c++",45.5f) วัตถุ b จะถูกใช้เป็นพารามิเตอร์จริง และการอ้างอิงจะถูกส่งผ่านไปยังพารามิเตอร์ทางการที่เกี่ยวข้อง a_book ที่จริงแล้ว a_book ยังชี้ไปที่วัตถุเดียวกันด้วย นั่นคือ วัตถุมีชื่ออ้างอิงสองชื่อ: b และ a_book เมื่อดำเนินการเมธอด change() การดำเนินการกับพารามิเตอร์อย่างเป็นทางการ a_book คือการดำเนินการกับพารามิเตอร์จริง b