1. 程式人生 > 其它 >(引用and物件)一些基礎理論總結---Java

(引用and物件)一些基礎理論總結---Java

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

一、理論
1、Java沒有指標和地址的說法。
2、關於物件的認識,其中一種視角是:組織管理資料的一個概念
3、程式不直接接觸到物件 而是通過引用 間接操控物件(觀眾、電視和遙控的關係)
//即 通過引用 操縱物件
4、一個引用可以不關聯到物件,但如果要關聯,則只能關聯到一個物件上
//(一個遙控器只能操作一個電視 也可以一個都不操作)
引用的優點:
(1)安全,間接操控物件,保障了物件的安全性。
(2)可控,引用只能使用規定範圍內的功能。
5、一個物件可以同時被多個引用所指向 (多個遙控器操作一個電視)
6、引用分型別,如 Scanner s; Random r; String str; long[] array(類似於空調遙控器 電視遙控器 汽車遙控器)。

7、null 是關於引用型別的特殊字面量,如果一個引用的值是null,一般稱其為空。
//含義是 這個引用沒有指向任何物件。
//String s=null;s是一個String型別的引用,但目前還未指向任何物件。
8、引用之間的賦值含義
//String s=…; String t=s;
//即 s是一個String型別的引用,指向某個物件
//t是一個String型別的引用,讓t指向s目前指向的物件
9、引用的比較 沒有> 和 < ,有== 和!=,結果是boolean型別(true/false)
10、Java中資料型別分為基本型別和引用型別。基本型別有八種,包括:byte、short、int 、long、flloat、double、char、boolean。除了這八種之外,其餘全是引用型別。
11、通過引用,修改或獲取該引用指向的物件中的資料
二、程式碼示例

import java.util.Arrays;

public class reference {
    public static void main(String[] args) {
        long[] array={1,2,3,4,5};
        long[] array2=array;
        System.out.println(Arrays.toString(array2));//引用賦值

        long[] a1=null;//定義了引用a1,沒有指向任何物件
        //long b=a1.length; //通過a1引用,找到a1指向的物件,獲取物件中的length值
// System.out.println(b);//找不到 所以會報錯 執行時:空指標異常 long[] array3={1,2,3,4,5}; System.out.println(array==array3);//false //array指向一個物件,放著{1,2,3,4,5} //array3指向一個新的物件,也放著{1,2,3,4,5} //它倆指向的不是同一個物件 //比較陣列 用 Arrays.equals(a1,a2); } //解引用 通過引用,修改/獲取 該引用指向的物件中的資料 //System.out.println(a1); 通過a1找到a1指向的物件。獲取物件中儲存的length的值,列印該值 //a1[0]=100;通過a1找到a1指向的物件,修改物件中下標為0的位置的元素 //(類似拿遙控器換臺) }

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