java复用类_java复用类
1. toString() 每一個非基本類型都有一個toString()方法;當編譯器需要從對象獲取一個string時,該對象的toString()方法就會被調用。 示例: class WaterSource { private String s; WaterSource() { s = "WaterSource Constructed"; } public String toString() {return s;} public static void main(String[] args) { WaterSource w = new WaterSource(); System.out.println(w); } } 打印的結果是: WaterSource Constructed 2.繼承 當創建一個類時,總是在繼承。因此,除非已經明確指出要從其他類中繼承,否則就是在隱式的從JAVA的標準根類Object進行繼承。 繼承的關鍵字:extends 關鍵字super表示超類(或者基類)的意思。因此,表達式super.scrub()將調用超類的scrub()方法。 3.初始化基類 在構造器中調用基類構造器來執行初始化,而基類構造器具有執行基類初始化所需要的所有知識和能力。 對于無參數的基類構造器,會被派生類默認調用; 對于帶參數的基類構造器,派生類必須使用關鍵字super顯示地調用,并配以適當的參數。 4.try與finally try { ... } finally { ... } 關鍵字try表示,下面的塊(用{}括起來的代碼)是所謂的保護區,這意味著它需要被異常處理。其中一項特殊的處理是無論try塊怎樣退出的,保護區后的 finally子句中的代碼總是要被執行的。這里的finally子句表示的是“無論發生什么事,一定要執行后面跟著的塊”。 5.protected關鍵字 protected關鍵字指明“就類用戶而言,這是private的,但對于任何繼承于此類的導出類或者其他任何位于同一個包內的類來說,它是可以訪問的”。 6.向上轉型 “為新的類提供方法”并不是繼承技術中最重要的方面,其最重要的方面是用來表現新類和基類之間的關系。這種關系可以用“新類是現有類的一種類型”加以概括。 由于繼承可以確保基類中所有的方法在到處類中也同樣有效,所以能夠向基類發送的所有信息同樣也向可以導出類發送。 示例 class Instrument { public void play () { System.out.println("Instrument play"); } static void tune (Instrument i) { i.play(); } } public class Wind extends Instrument { public static void main(String[] args) { Wind flute = new Wind(); Instrument.tune(flute); //upcasting } } 在tune中,程序代碼可以對Instrument和它所有的到處類起作用,這種將Wind引用轉換為Instrument引用的動作,稱之為“向上轉型”。 7.繼承使用 慎用繼承,其使用場合僅限于你確信使用該技術確實有效的情況。到底是改用組合還是使用繼承,一個最清晰的判斷方法就是問一問自己是否需要從新類向基類進行向上轉型。如果必須向上轉型,則繼承是必要的;但如果不需要,則應當好好考慮自己是否需要繼承。 8.final關鍵字 用final關鍵字定義編譯期常量:這種常量必須是基本類型,并且以關鍵字final表示。定義常量時,必須賦值。 按照慣例:既是static又是final的常量將用大寫表示:定義為public,則可以被用于包之外;定義為static,則強調只有一份;定義為final,則說明它是一個常量。 當final關鍵字后定義的域是對象引用時,final使引用恒定不變(一旦引用被初始化指向一個對象,就無法再把它改為指向另一個對象)。然而,對象其自身確實是可以修改的。 空白final:空白final指被聲明為final但又未給定初值的域。無論什么情況,編譯器都確保空白final在使用前必須被初始化。但是,空白 final在關鍵字final的使用上提供了更大的靈活性。為此,一個類中的final域就可以做到根據對象而有所不同,卻又保持其恒定不變的特性。 final參數:JAVA允許在參數列表中以聲明的方式將參數指明為final.這意味著你無法在方法中更改參數引用所指向的對象。 final方法:把方法鎖定,以防止任何繼承類修改它的含義。 類中所以的private方法都隱式地指定為final的。由于無法取用private方法,所以就無法覆蓋它。可以對private方法添加final修飾詞,但這并不能給該方法增加任何額外的意義。 final類:將某個類定義為final時,表明了你不打算繼承該類,而且也不允許別人這樣做。 9.初始化及類的加載 一般來說,類的代碼在初次使用時才加載。這通常指加載發生于創建類的第一個對象之時,但是當訪問static域或者static方法時,也會發生加載。 當一個類在加載時,編譯器注意到它有一個基類,則加載完該類,繼續加載基類。如果基類還有其自身的基類,則繼續加載基類的基類。依次類推。 類加載完成之后,根基類的static初始化會被執行,然后是下一個到處類的staic初始化被執行,依次類推。 至此,類的加載完畢,可以創建對象了。
總結
以上是生活随笔為你收集整理的java复用类_java复用类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java小票_Java编程打印购物小票实
- 下一篇: 口袋妖怪复刻臭臭花属性详解