通往黑馬 Java學習筆記(2)

2021-06-27 23:07:00 字數 2138 閱讀 9430

1.object類

所有類的超類。

equals()方法——檢測兩個物件是否相同

tostring()方法——返回物件的字串表示(宜複寫)

getclass()方法——得到該物件所屬類的名稱

2.內部類

1)方便訪問外部類的成員變數,包括私有成員變數。

2)內部類函式訪問外部類成員變數——外部類名.this.變數名;

3)內部類可以被private修飾,則不能被其他外部類訪問。

4)非私有的內部類,可以被其他外部類訪問 eg. outer.inner a = new outer().inner()

靜態內部類——static修飾

訪問靜態內部類非靜態成員new outer.inner().function()

訪問靜態內部類靜態成員 outer.inner.function()

非靜態內部類不能有靜態成員。

區域性內部類(在方法裡的內部類):

1)不可以被成員修飾符修飾

2)可以訪問外部類成員,但不能訪問所在區域性的變數,除非該變數被final修飾。

匿名內部類——其實就是為了簡寫,直接省去類定義,生成並使用乙個沒有名稱的物件。

1)匿名的內部類必須有繼承或者是實現。

2)格式:new 父類(介面名)()

3)建立的匿名物件可以只用一次,也可以匯入乙個物件變數多次使用,但多次使用涉及到多型,只能使用父類或介面中定義的內容。

3.異常(exception)

1)定義:程式執行時出現的不正常情況,在可以處理的範圍內。(不可處理則是error)

throwable : error;exception.

異常的分類:runtime異常——程式錯誤導致的異常(不用宣告,也無需處理,想丟擲就丟擲即可,好東西啊!

其他異常——程式無問題,其他原因導致的異常,

2)異常的宣告——throws關鍵字

如果程式本身沒有問題,那資料本身就不會發生問題,只有資料變化過程中才會產生問題,也就是說——非runtime異常只會發生在方法中(構造器和一般方法)。

當乙個方法可能產生異常時,需要將這些異常宣告在方法定義中。

自定義異常:

自定義乙個繼承exception的類,利用**實現在希望跳出異常的地方,運用throw關鍵字手動拋出自定義異常的物件。

格式:

class aaexception extends exception

class test

}

throws在函式上,丟擲異常類,多個異常類用逗號隔開。

throw在函式內,丟擲異常物件。

3)宣告了異常後,有兩種解決辦法:

(1)、可在呼叫時直接進行手動處理,也就是try-catch流程。

(2)、也可以繼續丟擲異常,也就是在呼叫這個方法的上一級方法繼續宣告丟擲。(這種向上丟擲如果不斷進行,最後會到達main函式,main函式繼續丟擲就拋給了虛擬機器,讓虛擬機器自動處理)

異常的手動處理:

格式:

try

{ 需要被檢測的**,發現異常則進入catch;

}catch(異常類 變數)

{ 處理異常的**(提供各種異常資訊);

}finally

{ 一定執行的語句,通常用於關閉資源;(如果catch裡執行了system.exit(0),則finally不被執行。)

catch塊和finally塊至少存在其一;

catch塊可以有多塊;

多個catch塊的時候,父類的catch放在下面。

4)覆蓋時的異常特點

子類覆蓋父類時,所覆蓋的方法如果有異常,則子類的異常最好為父類的異常的子集和子異常。

除非子類方法直接進行處理,不進行丟擲。

黑馬程式設計師 JAVA學習筆記2

asp.net android ios開發 net培訓 期待與您交流!詳細請檢視 介面中的成員變數都是publci 的static 的和final 的。介面中的方法都是 public 的。單例模式 表示乙個類只會生成唯一的乙個物件。怎樣才能乙個類只會生成乙個物件呢 首先其構造方法是不應該被外界訪問的...

黑馬程式設計師 Java 學習筆記

filewriter 建立乙個filewriter物件,該物件一被初始化就必須明確被操作的檔案,而且該檔案會被建立到指定的目錄下。如果該目錄下已有同名檔案,將被覆蓋。下面的例子是將客戶端的檔案拷貝到伺服器上 客戶端 socket s newsocket 1.1.1.1 10000 定義客戶端的套接字...

java學習筆記 2

textfield 文字輸入框 持有物件引用物件之間互相不引用,只是通過對總的物件的引用來引用其他物件 內部類的好處可以訪問包裝類的成員 更清晰的組織邏輯,防止不應該被其他類訪問的類的訪問 用法 不允許或不需要其他類訪問時 paint 每次需要重畫的時候自動呼叫paint方法 graphics 相當...