1.instanceof? 比較實例對象是否是同一個類或者其子類膳叨。 所以在進行比較的時候壮池,如果嚴格比較是否兩個對象實例相等 則需要采用重寫equals方法 來比較對象實例都是同一個類的對象實例疏唾。
2 成員變量:類成員和實例成員
? 局部變量:形參礼烈,方法局部變量峭拘,代碼塊局部變量匹摇。
? 成員變量是放在堆內(nèi)存中咬扇,且類成員是放在堆內(nèi)存中單獨的一塊內(nèi)存中。局部變量則是放入棧內(nèi)存中廊勃。而生命周期則是方法結(jié)束或者代碼塊結(jié)束則棧內(nèi)存中的變量則銷毀懈贺。
3.final 只能在靜態(tài)初始化塊或者定義處賦值,實例化對象則是在構(gòu)造器內(nèi)進行賦值坡垫。
4 基礎(chǔ)類型和引用類型的final修飾不同處梭灿,
基礎(chǔ)類型值不能變。引用類型只是引用對象地址值不能改變冰悠,但是引用所指向的對象值可以改變堡妒。
final修飾的方法不可被子類重寫但是可以被重載。系統(tǒng)中object的getClass類就是final修飾
final修飾的類不可繼承 例如Math類
不可變類 包括8個包裝類和String類溉卓,當(dāng)實例化這些類時皮迟。他們的實例變量是不可變的。
自定義不可變類規(guī)則:變量采用private和final來修飾的诵,只提供有參的構(gòu)造方法万栅,只提供get方法。重寫equals方法和hashcode方法 保證他們hashcode在比較的時候想等西疤。
5 接口可以繼承多個接口 但是不能繼承類烦粒,接口可以定義fied但是只能定義常量,可以定義內(nèi)部類。
6.內(nèi)部類 非靜態(tài)內(nèi)部類是存有一個外部類的引用實例的扰她,靜態(tài)內(nèi)部類是外部類的類成員兽掰,可以理解為內(nèi)部類就是一個外部類的成員 可以是類成員 也可以定義為實例成員。局部內(nèi)部類的外層是方法所以不能用static修飾徒役。
匿名內(nèi)部類 最常見的就是在以接口類為參數(shù)的實現(xiàn)孽尽。匿名內(nèi)部類不能是抽象類 因為在使用匿名內(nèi)部類的時候就會為它創(chuàng)建對象,而抽象類是不能實例化的忧勿。匿名內(nèi)部類沒有構(gòu)造方法杉女。
7枚舉類 集成于Enum類 而不是object類 非抽象枚舉類不能派生子類 因為默認會用final修飾。抽象類枚舉類則可以派生子類