標籤:動態綁定是在執行期間(而不是編譯期間)判斷所用對象的實際類型,根據其實際的類型調用其相應的方法(確定選擇哪個多態形式被調用)。 首先是方法的參數是父類對象,傳入子類對象是否可行然後引出Parent p = new
標籤:Java不能實現多繼承,但是可以利用介面實作類別似多繼承的功能。 多個無關的類可以實現同一介面。 一個類可以實現多個無關的介面。 與繼承關係類似,介面與實作類別之間存在多態性。 介面是抽象方法和常量值的定義的集合。 從本質上講,介面是一種特殊的抽象類別,這種抽象類別中只包含常量(public static
標籤:【StringBuffer】 <1>java.lang.StringBuffer代表可變的字元序列。<2>StringBuffer和String類似,但是StringBuffer可以對其字串進行改變。<3>StringBUffer類的常見構造方法: StringBuffer();
標籤:java-nio nio流 java-io java nio 這裡寫連結內容 - WatchServicepublic class WatchServiceTest { public static void main(String[] args) { try {
標籤:java jdk tools.jar dt.jar rt.jar 1、 tools.jar 位於{Java_Home}\lib下; 是系統用來編譯一個類的時候用到的,即執行javac的時候用到
標籤:學習 筆記 java 語言 1.類是構造對象的模板,由類構造對象的過程稱為建立類的執行個體。 2.對象中的資料稱為執行個體域,操縱資料的過程稱為方法。3.封裝既是將資料和行為組合在一個包中,並對對象的使用者隱藏了資料的實現方式。4.通過一個類來建立另外一個類的過程稱為繼承。5.在OOP中對象的三個主要特徵:行為,狀態和標識。  
標籤:【Interator介面】 <1> 所有實現了Collection介面的容器類都有一個interator方法用以返回一個實現了Interaor介面的對象。<2> Interator對象稱作迭代器,用以方便的實現對容器內元素的遍曆操作。註:Interator用於實現容器的遍曆,可以理解為一個遊標指標。 【方法】(必須實現的方法) 【程式分析】 Java——容器(Interator)
標籤:在物件導向的編程中,不能再有第一步、第二步怎麼做的概念。 【對象和類】 【類和對象之間的關係】 a> 關聯關係 b> 繼承關係(一般與特殊) c> 彙總關係(整體與部分) d>
標籤:<1>JDK1.5新增的for迴圈對於遍曆array或collection非常便利。<2>缺陷: 數組:不能方便地訪問下標值。 集合:與使用Interator相比,不能方便地刪除集合中的東西。
標籤:【曆史】第三代語言:(1)C、Pascal、Fortran面向過程的語言;(2)C++面向過程/物件導向;(3)Java跨平台的純物件導向的語言;(4).NET跨語言的平台。 第四代語言:SQL 【特點】(1)純物件導向的語言;(2)與平台無關的語言,提供者啟動並執行解釋環境;(3)健壯的語言,吸收了C/C++的優缺點,去掉了影響其程式健壯性的部分(例如,指標、記憶體的申請與釋放)。 【運行機制】(1)Java虛擬機器(JVM) &nbs
標籤:【File】 <1>java.io.File類代表系統檔案名稱(路徑和檔案名稱)。
標籤:【容器API】 <1>J2SDK所提供的容器位於java.util包內。 註:<1>在圖中左邊的是一個個儲存資料,右邊的Map是一對對儲存資料。 <2>這裡定義為介面,即定義每個介面應該滿足的儲存方法和參數,但是不關注具體的實現方法。 【區別】
標籤:【Map介面】 註:<1>HashMap底層實現是雜湊表,TreeMap底層實現是二叉樹。 <2>鍵是索引,不能重複--表示不能equals,直接比較hashCode即可。 (hashCode是int類型,比較起來效率高,直接equals效率慢)
標籤:【List介面】 註:<1>List很類似與數組,但是它可以任意改變大小。 <2>ArrayList底層實現是數組,LinkedList底層實現是鏈表。 【常見方法】 【程式分析】 註:注意區分add方法和set方法的區別。 【常用方法】 java.util.Collections提供了一些靜態方法實現了基於List容器的一些常用演算法。 (
標籤:【打包/解包】在Map中需要增加一個數值時,需要new一個對象出來,輸出後又得進行強制類型轉換,這就造成不便。在JDK1.5中使用Map介面提供了一種新的機制。 在合適的時機自動打包/解包(在JDK1.5後才有) <1>自動將基礎類型轉換為對象 <2>自動將對象轉換為基礎類型 【程式分析】 註:在JDK1.5之後可以這樣寫: m1.put("one",1
標籤:本文由 ImportNew - rookie_sam 翻譯自 Dzone。歡迎加入翻譯小組。轉載請見文末要求。死結是指,兩個或多個動作一直在等待其他動作完成而使得所有動作都始終處在阻塞的狀態。想要在開發階段檢測到死結是非常困難的,而想要解除死結往往需要重新啟動程式。更糟的是,死結通常發生在負載最重的生產過程中,而想要在測試中發現它,十分不易。之所以這麼說,是因為測試線程之間所有可能的交叉是不現實的。儘管出現了一些靜態分析庫可以協助我們發現可
標籤:【AWT】 <1>AWT(Abstract Widow Toolkit)包含了很多類和介面,用於Java Application的GUI(Graphics User Interface圖形使用者界
標籤:【封裝類】 封裝類(如Integer、Double等)這些類封裝了一個相應的基礎資料類型數值,並為其提供了一系列操作。 例如:java.lang.Integer類提供了以下構造方法: Integer(int value) Integer(String s) 【常用方法】 【程式分析】 註:<1>對於int i=100;而言分配在棧上;對於Integer i = new
標籤:【類】 【成員變數】 註:<1>成員變數預設初始化,直接輸出不會報錯;而局部變數預設情況下不會初始化,直接輸出會報錯; 【引用】 註:參考型別佔兩塊記憶體,比如String s;該程式是在記憶體中分配一段地區,裝的是空值(還沒進行初始化)。s = new
標籤:【Set介面】<1>Set介面是Collection的子介面,Set介面沒有提供額外的方法。<2>實現Set介面的容器類中的元素是沒有順序的,而且不可以重複。<3>Set容器可以與數學中“集合”的概念相對應。<4>J2SDK API中所提供的Set容器類有HashSet和TreeSet。 【程式分析】 註:retainAll表示取交集。Java——容器(Set)