java基礎整理1

weixin_33912246發表於2019-01-08

1、匿名物件:new persion().tell();這樣的,它只開闢棧記憶體,沒有棧引用的關係

2、構造方法的名稱必須與類名稱一致,構造方法的宣告處不能有任何返回值型別的宣告,不能在構造方法中使用return返回一個值

3、String有兩種比較方式:一種是使用“==”完成,比較的是地址值;另一種是使用"equals"方法完成,比較的是具體的內容

4、String類兩種例項化方法的區別:

       直接賦值:String str1 = "hello"; String str2 = "hello";  String str3 = "hello";  那這兩個地址是相同的,可以有效節省堆記憶體

        通過關鍵字new賦值:String str = new String("hello");實際是開闢兩個記憶體物件


5、字串內容的改變,改變的是記憶體地址的引用關係


6、this關鍵字的作用:表示類中的屬性this.name = name;呼叫本類的構造方法,構造方法可以互相呼叫,使用this(引數)的形式完成,注意在使用this關鍵字呼叫其他構造方法時,this()呼叫方法的語句只能放在構造方法的首行,在使用this呼叫類中其他構造方法時,至少有一個構造方法是不用this呼叫的,以防止遞迴呼叫的情況出現;表示當前物件

7、java常用的記憶體區域:棧記憶體-->可以儲存物件的名稱(更準確地說是儲存了引用的堆記憶體空間的地址);堆記憶體-->儲存每個物件的具體屬性;全域性資料區-->儲存static型別的屬性;全域性程式碼區-->儲存所有的方法定義

8、使用static方法,不能呼叫非static的屬性或方法

9、java程式碼塊:普通程式碼塊-->使用{}包含的,裡面的變數屬於區域性變數,不能在程式碼塊之外使用;構造塊-->將程式碼塊直接定義在類中,構造塊優先於構造方法執行,且執行多次,只要一有例項化物件產生,就執行構造塊中的內容;靜態程式碼塊-->使用static關鍵字宣告的程式碼塊,靜態程式碼塊優先於主方法執行,普通類中定義的靜態塊優先於構造方法執行,不管有多少個例項化物件產生,靜態程式碼塊只執行一次。靜態程式碼塊的作用主要用於靜態屬性的初始化

10、

11、final關鍵字宣告類、屬性、方法:使用final宣告的類不能有子類;使用final宣告的方法不能被子類覆寫;使用final宣告的變數即成為常量,常量不可以修改。

12、抽象類:包含一個抽象方法的類必須是抽象類;抽象類和抽象方法都要使用abstract關鍵字宣告;抽象方法只需要宣告而不需要實現;抽象類必須被子繼承,子類(如果不是抽象類)必須覆寫抽象類中的全部方法;抽象類可以繼承抽象類

13、介面是一種特殊的類,裡面全部是由全域性常量(static final)和公共的抽象方法(abstract)組成,也可以簡化定義不寫,一個介面不能繼承一個抽象類,但是卻可以通過extends關鍵字同時繼承多個介面,實現介面的多繼承,interface 子介面 extends 父介面A, 父介面B,...{}

14、物件的多型性:物件向上轉型:父類  父類物件 = 子類例項;    物件向下轉型:  子類 子類物件 = (子類)父類例項;

15、instanceof關鍵字判斷一個物件到底是哪個類的例項,格式:物件 instanceof 類  -》 返回boolean型別

16、




以上的正則,如果想驅動起來,則必須依賴Pattern類和Matcher類,Pattern主要是表達一個規則的意思,即:正規表示式的規則需要在Pattern類中使用。Matcher類主要表示使用Pattern指定好的驗證規則。




 

相關文章