1. 程式人生 > 其它 >(引用小總結)引數傳遞+引用總結---Java

(引用小總結)引數傳遞+引用總結---Java

技術標籤:java程式碼練習java

一、理論總結
1、物件:一組相關資料的組織單位(相關資料的型別也是基本型別或引用型別)加上與其相關的一組操作。它在記憶體中表現為:一塊區域,儲存著相關的資料。
2、間接操作物件的一個工具/方法。
3、引用可以指向物件,也可以不指向物件。引用支援的操作有:=、==、!=、.、[]。
4、對解引用的理解+NPE(空指標異常),快速確定NPE的發生位置。
5、引用表現出“共享特性”(多個引用可指向同一個物件)但是一個引用不可同時指向多個物件!
6、形參的改變不會影響實參(所有資料型別均如此)
7、藉助多維陣列,認識引用。

二、引數傳遞小練習

import java.
util.Arrays; public class twoDimArray2 { public static void main(String[] args) { //形參的改變不會影響實參(與形參的資料型別無關) long a=10;//基本型別 long b=20; swap1(a,b);//實參 System.out.println(a); System.out.println(b); long[] a1={1,3,5,7};//引用型別 long[] b1={2,4,6
,8}; swap2(a1,b1);//實參 System.out.println(Arrays.toString(a1)); System.out.println(Arrays.toString(b1)); //當多個引用指向同一個物件時 //通過其中一個引用對 物件 進行修改,由其他引用可看到該變化 //即 在方法中修改資料 讓方法外看到 swap3(a1,0,3);//發生改變 System.out.println(Arrays.toString(a1)); } private
static void swap3(long[] array, int indexA, int indexB) { long t=array[indexA];//解引用 array[indexA]=array[indexB]; array[indexB]=t; } private static void swap2(long[] x, long[] y) { long[] t=x; x=y; y=t; } private static void swap1(long x, long y) { long t=x; x=y; y=t; } }

執行結果:
在這裡插入圖片描述