API概述以及Object類的概述
阿新 • • 發佈:2018-11-02
API概述以及Object類的概述
API概述
API(Application Programing Interface 應用程式介面),我們通過這個介面直接呼叫那些已經封裝好的類,這些類我們並不需要知道如何實現它,只需要知道如何去呼叫它就好。Object類的概述
Object類是類的根類,就算你不寫出來,系統都是會隱藏的加上的,所有類都會間接或直接的繼承自該類。Object類的常用方法
程式碼演示
public class Equals { public Equals() { System.out.println("我是建構函式"); } public static void main(String[] args) { int a=100; int b=200; Equals e = new Equals();//建立物件e Equals ee = new Equals();//建立物件ee Equals eee=e; //通過toString可以打印出這三個物件的地址,發現e和eee相同,因為引用相同 System.out.println(e.toString()); System.out.println(ee.toString()); System.out.println(eee.toString()); //輸出雜湊值,不同物件雜湊值不同 System.out.println(e.hashCode()); System.out.println(ee.hashCode()); System.out.println(eee.hashCode()); //得到class 包名.類名,這裡相同,因為是在同一類和包下編寫的程式碼 System.out.println(e.getClass()); System.out.println(ee.getClass()); System.out.println(eee.getClass()); System.out.println(a==b); System.out.println(e==ee); //new出來的物件會開闢新的空間,因此地址(引用)不同 System.out.println(e.equals(ee)); System.out.println(e.equals(a)); System.out.println(e.equals(b)); //把e的引用(地址)賦給eee,因此兩個物件相等 System.out.println(e.equals(eee)); // System.out.println(a.equals(b));出錯,因為需要物件引用該方法 } }
結果
我是建構函式
我是建構函式
[email protected]
[email protected]
[email protected]
1163157884
1956725890
1163157884
class org.ji10.code.Equals
class org.ji10.code.Equals
class org.ji10.code.Equals
false
false
false
false
false
true
記憶體圖
根據上圖可知一共開闢了兩個空間,因為第三個物件eee是把第一個物件的引用(地址)賦給了它,因此它們兩個指向的是同一個空間,用equals比較時會返回true。