-
1:equals()方法:比較的是對象的引用是否指向同一塊內存地址
Dog?dog?=?new?Dog(); Dog?dog2?=?new?Dog(); if(dog.equals(dog2)){ ??System.out.println("兩個對象是相同的"); }else{ ??System.out.println("兩個對象是不i相同的"); }
其中? if(dog.equals(dog2))與if(dog==dog2)類似
查看全部 -
object類是所有類的父類,如果一個類沒有使用extends關鍵字明確標識繼承另外一個類,那么這個類默認繼承object類
object類中的方法,適合所有子類
1:toString()方法
在object類里面定義toString()方法的時候返回的對象的哈希code碼(對象地址字符串)
可以通過重寫toString()方法表示出對象的屬性
例:
public?String?toString(){ ??return?"Dog[age="+age+"]"; }
查看全部 -
super關鍵字:在對象的內部使用,可以代表父類對象
1:訪問父類的屬性
super.age
2:訪問父類對象的方法
super.eat()
super的應用:子類的構造過程中必須調用其父類的構造方法
若子類的構造方法中沒有顯示調用父類的構造方法,則系統默認調用父類無參的構造方法
若要顯示super方法,則必須將代碼寫在第一行
如果子類構造方法中既沒有顯示調用父類構造方法,而父類又沒有無參的構造方法,則編譯出錯
查看全部 -
匿名內部類:無名字的內部類(關注實現而非類名)
查看全部 -
接口:類實現的規范,類-系統自動加abstract關鍵字,常量-系統自動加public static final,方法-系統自動加public abstract
public interface 接口名 [extends 父接口1,父接口2,...]
查看全部 -
抽象類:規定子類要實現的方法,可包含普通方法,不能創建
查看全部 -
向上類型轉換(自動):小->大 Animal animal = new Dog();
向下類型轉換(強制):大->小 Dog dog = (Dog)animal;
instanceof解決向下轉換安全問題:判斷當前引用是否包含類型
????if (animal instanceof Dog)
查看全部 -
多態:父類引用指向父類/子類的對象,這樣調用的方法是父類/子類的方法(若子類方法獨有,則不能多態)
查看全部 -
Dog dog = new Dog()
dog不是對象而是地址
2. equals():比較是否指向同地址,跟==相同(可重寫比較值是否一致)
查看全部 -
Object類是總父類,若沒有extends則類默認繼承Object類
Object類的方法
1. toString():返回對象地址(可重寫返回對象屬性)
查看全部 -
super表示父類
super.屬性/方法
子類構造時必須調用父類構造方法(隱式super();,但父類構造方法有參時必須顯式調用)
查看全部 -
final屬性:必須在屬性/構造方法初始化
查看全部 -
初始化執行順序
先父類后子類
先屬性后構造方法
總初始化順序:父類屬性,父類構造方法,子類屬性,子類構造方法
查看全部 -
創建靜態內部類不需要先創建外部類
查看全部 -
內部類通過this訪問同名的外部類變量和方法
外部類名.this.變量
查看全部
舉報