第2章 一切都是對象2.1 用句柄操縱對象2.2 必須創(chuàng)建所有對象2.2.1 保存在什么地方2.2.2 特殊情況:主類型2.2.3 Java中的數(shù)組2.3 絕對不要清除對象2.3.1 作用域2.3.2 對象的作用域2.4 新建數(shù)據(jù)類型:類2.4.1 字段和方法2.5 方法、自變量和返回值2.5.1 自變量列表2.6 構建Java程序2.6.1 名字的可見性2.6.2 使用其他組件2.6.3 static關鍵字2.7 我們的第一個Java程序2.8 注釋和嵌入文檔2.8.1 注釋文檔2.8.2 具體語法2.8.3 嵌入HTML2.8.4 @see:引用其他類2.8.5 類文檔標記2.8.6 變量文檔標記2.8.7 方法文檔標記2.8.8 文檔示例2.9 編碼樣式2.10 總結2.11 練習 第3章 控制程序流程3.1 使用Java運算符3.1.1 優(yōu)先級3.1.2 賦值3.1.3 算術運算符3.1.4 自動遞增和遞減3.1.5 關系運算符3.1.6 邏輯運算符3.1.7 按位運算符3.1.8 移位運算符3.1.9 三元if-else運算符3.1.10 逗號運算符3.1.11 字串運算符+3.1.12 運算符常規(guī)操作規(guī)則3.1.13 造型運算符3.1.14 Java沒有“sizeof”3.1.15 復習計算順序3.1.16 運算符總結3.2 執(zhí)行控制3.2.1 真和假3.2.2 if-else3.2.3 反復3.2.4 do-while3.2.5 for3.2.6 中斷和繼續(xù)3.2.7 切換3.3 總結3.4 練習 第4章 初始化和清除4.1 由構建器保證初始化4.2 方法過載4.2.1 區(qū)分過載方法4.2.2 主類型的過載4.2.3 返回值過載4.2.4 默認構建器4.2.5 this關鍵字4.3 清除:收尾和垃圾收集4.3.1 finalize()用途何在4.3.2 必須執(zhí)行清除4.4 成員初始化4.4.1 規(guī)定初始化4.4.2 構建器初始化4.5 數(shù)組初始化4.5.1 多維數(shù)組4.6 總結4.7 練習 第5章 隱藏實施過程5.1 包:庫單元5.1.1 創(chuàng)建獨一無二的包名5.1.2 自定義工具庫5.1.3 利用導入改變行為5.1.4 包的停用5.2 Java訪問指示符5.2.1 “友好的”5.2.2 public:接口訪問5.2.3 private:不能接觸5.2.4 protected:“友好的一種”5.3 接口與實現(xiàn)5.4 類訪問5.5 總結5.6 練習 第6章 類再生6.1 合成的語法6.2 繼承的語法6.2.1 初始化基礎類6.3 合成與繼承的結合6.3.1 確保正確的清除6.3.2 名字的隱藏6.4 到底選擇合成還是繼承6.5 protected6.6 遞增開發(fā)6.7 上溯造型6.7.1 何謂“上溯造型”?6.8 final關鍵字6.8.1 final數(shù)據(jù)6.8.2 final方法6.8.3 final類6.8.4 final的注意事項6.9 初始化和類裝載6.9.1 繼承初始化6.10 總結6.11 練習 第7章 多形性7.1 上溯造型7.1.1 為什么要上溯造型7.2 深入理解7.2.1 方法調(diào)用的綁定7.2.2 產(chǎn)生正確的行為7.2.3 擴展性7.3 覆蓋與過載7.4 抽象類和方法7.5 接口7.5.1 Java的“多重繼承”7.5.2 通過繼承擴展接口7.5.3 常數(shù)分組7.5.4 初始化接口中的字段7.6 內(nèi)部類7.6.1 內(nèi)部類和上溯造型7.6.2 方法和作用域中的內(nèi)部類7.6.3 鏈接到外部類7.6.4 static內(nèi)部類7.6.5 引用外部類對象7.6.6 從內(nèi)部類繼承7.6.7 內(nèi)部類可以覆蓋嗎?7.6.8 內(nèi)部類標識符7.6.9 為什么要用內(nèi)部類:控制框架7.7 構建器和多形性7.7.1 構建器的調(diào)用順序7.7.2 繼承和finalize()7.7.3 構建器內(nèi)部的多形性方法的行為7.8 通過繼承進行設計7.8.1 純繼承與擴展7.8.2 下溯造型與運行期類型標識7.9 總結7.10 練習 第8章 對象的容納8.1 數(shù)組8.1.1 數(shù)組和第一類對象8.1.2 數(shù)組的返回8.2 集合8.2.1 缺點:類型未知8.3 枚舉器(反復器)8.4 集合的類型8.4.1 Vector8.4.2 BitSet8.4.3 Stack8.4.4 Hashtable8.4.5 再論枚舉器8.5 排序8.6 通用集合庫8.7 新集合8.7.1 使用Collections8.7.2 使用Lists8.7.3 使用Sets8.7.4 使用Maps8.7.5 決定實施方案8.7.6 未支持的操作8.7.7 排序和搜索8.7.8 實用工具8.8 總結8.9 練習 第9章 違例差錯控制9.1 基本違例9.1.1 違例自變量9.2 違例的捕獲9.2.1 try塊9.2.2 違例控制器9.2.3 違例規(guī)范9.2.4 捕獲所有違例9.2.5 重新“擲”出違例9.3 標準Java違例9.3.1 RuntimeException的特殊情況9.4 創(chuàng)建自己的違例9.5 違例的限制9.6 用finally清除9.6.1 用finally做什么9.6.2 缺點:丟失的違例9.7 構建器9.8 違例匹配9.8.1 違例準則9.9 總結9.10 練習 第10章 Java IO系統(tǒng)10.1 輸入和輸出10.1.1 InputStream的類型10.1.2 OutputStream的類型10.2 增添屬性和有用的接口10.2.1 通過FilterInputStream從InputStream里讀入數(shù)據(jù)10.2.2 通過FilterOutputStream向OutputStream里寫入數(shù)據(jù)10.3 本身的缺陷:RandomAccessFile10.4 File類10.4.1 目錄列表器10.4.2 檢查與創(chuàng)建目錄10.5 IO流的典型應用10.5.1 輸入流10.5.2 輸出流10.5.3 快捷文件處理10.5.4 從標準輸入中讀取數(shù)據(jù)10.5.5 管道數(shù)據(jù)流10.6 StreamTokenizer10.6.1 StringTokenizer10.7 Java 1.1的IO流10.7.1 數(shù)據(jù)的發(fā)起與接收10.7.2 修改數(shù)據(jù)流的行為10.7.3 未改變的類10.7.4 一個例子10.7.5 重定向標準IO10.8 壓縮10.8.1 用GZIP進行簡單壓縮10.8.2 用Zip進行多文件保存10.8.3 Java歸檔(jar)實用程序10.9 對象串聯(lián)10.9.1 尋找類10.9.2 序列化的控制10.9.3 利用“持久性”10.10 總結10.11 練習 第11章 運行期類型鑒定11.1 對RTTI的需要11.1.1 Class對象11.1.2 造型前的檢查11.2 RTTI語法11.3 反射:運行期類信息11.3.1 一個類方法提取器11.4 總結11.5 練習 第12章 傳遞和返回對象12.1 傳遞句柄12.1.1 別名問題12.2 制作本地副本12.2.1 按值傳遞12.2.2 克隆對象12.2.3 使類具有克隆能力12.2.4 成功的克隆12.2.5 Object.clone()的效果12.2.6 克隆合成對象12.2.7 用Vector進行深層復制12.2.8 通過序。
對于Java開發(fā)學習者來說,基礎掌握的知識點有以下幾種:
1. Java面向?qū)ο蟮膬?yōu)點:易維護、易復用、易擴展,由于面向?qū)ο笥蟹庋b、繼承、多態(tài)性的特性,可以設計出低耦合的系統(tǒng),使系統(tǒng)更加靈活、更加易于維護。
2. Java虛擬機的概念,任何一種可以運行Java字節(jié)碼的軟件均可看成是Java的虛擬機(JVM)
3. JDK顧名思義它是給開發(fā)者提供的開發(fā)工具箱,是給程序開發(fā)者用的。它除了包括完整的JRE(Java Runtime Environment),Java運行環(huán)境,還包含了其他供開發(fā)者使用的工具包。
4. JRE的概念,普通用戶而只需要安裝JRE(Java Runtime Environment)來運行Java程序。而程序開發(fā)者必須安裝JDK來編譯、調(diào)試程序。
5. Java中覆蓋(Override)是指子類對父類方法的一種重寫,子類只能拋出比父類更少的異常,且訪問權限不能比父類的小。被覆蓋的方法不能是 private 的,否則只是在子類中重新定義了一個方法。
Java中重載(Overload)表示同一個類中可以有多個名稱相同的方法,但這些方法的參數(shù)列表各不相同。
java初學者到精通,要掌握的知識點可以參考如下內(nèi)容:一、學習DreamWaveMX中文版的網(wǎng)頁設計技術。
HTML網(wǎng)頁設計,這是最基本的。學習XML的一些基本知識。
初步掌握一些Jscript..的應用。二、學習Java語言。
學習Java語言的第一步是安裝好JDK,JDK的環(huán)境變量的配置,至于如何配置JDK的環(huán)境變量,網(wǎng)上關于這樣的文章很多,你可以搜索一下,這里就不多說。配置好環(huán)境變量以后,寫一個Hello World的小程序測試一下JDK是否已安裝成功。
環(huán)境變量配置成功以后就可以著手學習Java的語法了,先找一本系統(tǒng)的java程序設計的書,開始最好不要用eclipse等之類的高度集成的IDE環(huán)境,用文本編輯器配合JDK就行了,這樣助你理解下列幾個基礎概念:path,class_path,package ,并熟悉基本命令:JDK的最重要命令行工具: java: 啟動JVM執(zhí)行class javac: Java編譯器 jar: Java打包工具 javadoc: Java文檔生成器 這些命令行必須要非常熟悉。對于這些命令的學習,JDK Documentation上有詳細的文檔。
下載和你的JDK版本一致的API幫助。三、是學習Java的面向?qū)ο蟮木幊陶Z言的特性的地方,比如繼承,構造器,抽象類,接口,方法的多態(tài),重載,覆蓋,Java的異常處理機制。
可以參照《Thinking in java》這本書,對面向?qū)ο蟮闹v解很透徹。四、就是開始熟悉Java的類庫,Java的基礎類庫非常多,但是真正對于我們來說最核心的只有4個,分別是 java.lang.*; java.io.*; java.util.*; java.sql.*; 要知道包有哪些方面的類構成的,這些類的用途是什么,最核心的幾個類分別是完成什么功能的。
五、JDK Documentation。通過上面的學習,如果學的比較扎實的話,就打好了Java的基礎了,接著要學習Documentation里面除了上面4個包之外的其他一些比較有用處的類。
相信進展到這一步,Java的自學能力已經(jīng)被培養(yǎng)出來了,可以到了直接學習Documentation的水平了。除了要做GUI編程之外,JDK里面其他會有用處的包是這些: java.text.*; java.NET.*; javax.naming.*; 這些包里面真正用的比較多的類其實很少,只有幾個,所以不需要花很多時間。
六、Java Web 編程學習java web 編程之前要先下載安裝應用服務器(App Server),比較常用的應用服務器(App Server)有Tomcat 、BEA Weblogic、IBM Webshpere、Jboss 。以Tomcat為例,下載安裝Tomcat以后設置兩個環(huán)境變量: JAVA_HOME=C:/j2sdk1.4.2 CATALINA_HOME=D:/tomcat4 (你的Tomcat安裝目錄)Java的Web應用至少需要安裝JDK和一個web容器(例如Tomcat),以及一個多用戶數(shù)據(jù)庫,Web應用至少分為三層: Browser層:瀏覽器顯示用戶頁面 Web層:運行Servlet/JSP DB層:后端數(shù)據(jù)庫,向Java程序提供數(shù)據(jù)訪問服務七、學習J2EE的基本程序設計。
(1)首先學習JSP動態(tài)網(wǎng)頁設計。掌握JSP、JAVABEANS、JDBC、JSTL等技術,最好以TOMCAT作為實驗環(huán)境。
因為它影響力大,雖然性能不怎么的,很多JSP技術討論都是以它為背景。(2)學習EJB的程序設計思想。
在學習EJB之前要學習對象序列化和RMI,RMI是EJB的基礎。接著學習JMS和EJB,對于EJB來說,最關鍵是要理解EJB是如何通過RMI來實現(xiàn)對遠端對象的調(diào)用的,以及在什么情況下要用到EJB。
八、學習“設計模式”。可以參照《java設計模式》,這本書學習。
九、學習一些經(jīng)典框架的應用:(1)struts1.1、webwork2(2)hibernate(3)Ibatis/DAO框架(4)spring十、分析一些經(jīng)典的應用系統(tǒng):Jive、XPetstore、JPetstore等。
語言類的,要多上手操作,多做寫實例,做幾遍就差不多了,把重要的那幾個知識點做幾遍就差不多了,然后就是應用,單純語言的學習確實很枯燥,但是應用的話就很有意思了。
比如你學完java之后可以學習做java小游戲,網(wǎng)上找一些游戲框架,然后往上面添加主要的邏輯代碼什么的,還是挺有意思的。語言是想通的,學會一門,其他研究研究就會了,比如你也可以去學習做網(wǎng)站,做點實例,做幾個就知道簡單的網(wǎng)站開發(fā)過程是怎么樣的了。
語言是基礎,如果一直停留在基礎上學習的話,確實能提高功底,以后學習其他的東西也確實很快能上手,但是你覺得有必要嗎?那些太深的東西,用到的機會是比較少的,不會了找圖書,找CSDN,找百度都可以啊,而且那樣是自己研究出來的,比這么灌輸式學法得到的更深刻。一句話,多實踐。
java方面編程的初級學員必需掌握的基礎知識:java語言、HTML、JSP以及至少一種數(shù)據(jù)庫。這是最低的標準,但是也是最高的要求,因為基本上其他相關的技術和架構都是基于這些以上的。總之,我覺得都是一通百通,基本上做一個項目就能熟練掌握一種技術。
至于企業(yè)方面:本人先后在國內(nèi)幾個大的軟件公司工作過,外企也差不多。小公司我沒有去過,但是我覺得小公司不能去,學的技術好像很多,但是其實阻礙了一個工程師從一個工程師到項目經(jīng)理或者技術經(jīng)理的發(fā)展,因為小公司做的不可能是很大的項目,難么架構和設計不那么嚴謹,這樣從宏觀來看對一個程序員是沒有好處的。
企業(yè)方面根據(jù)所做項目的不同用到的技術也不一樣,而基本上大一點的公司都有自己的主營項目,也就是強項。比如亞信是做通信行業(yè)的,目前處在web化階段,其對于java工程師的需求很大,但是它的核心還是C語言的,所以一個java程序員在這樣的公司是不會有多大發(fā)展的,也學不到什么東西,值得一提的是這種公司都有自己的工具軟件,也就是把一些常用的模塊或者功能都做好了,你只要調(diào)用就行了,所以基本上你到這種公司學不到高深的技術,以后跳槽也難! 現(xiàn)在大一點的公司都有自己的工具軟件,目的是封裝常用的模塊,縮短開發(fā)周期,提高運行效率,但是對于喜歡技術的人來說就沒有什么好處了。
最后,想說的是:企業(yè)其實需要的是學習能力強的人,踏實肯干就會得到認可。至于技術都是進入公司以后的事情,只要上面說的幾樣搞清楚了,面試談的不錯,加點技巧就可以了!
java 學習資料要視頻干什么呢? 用Eclipse工具自己買本書或者到網(wǎng)上下幾個程序源代碼研究一下,再寫幾個小例子就差不多了!
希望可以幫到您,謝謝!
1、對象的初始化(1) 非靜態(tài)對象的初始化 在創(chuàng)建對象時,對象所在類的所有數(shù)據(jù)成員會首先進行初始化。
基本類型:int型,初始化為0。 如果為對象:這些對象會按順序初始化。
※在所有類成員初始化完成之后,才調(diào)用本類的構造方法創(chuàng)建對象。 構造方法的作用就是初始化。
(2) 靜態(tài)對象的初始化 程序中主類的靜態(tài)變量會在main方法執(zhí)行前初始化。 不僅第一次創(chuàng)建對象時,類中的所有靜態(tài)變量都初始化,并且第一次訪問某類(注意此時 未創(chuàng)建此類對象)的靜態(tài)對象時,所有的靜態(tài)變量也要按它們在類中的順序初始化。
2、繼承時,對象的初始化過程 (1) 主類的超類由高到低按順序初始化靜態(tài)成員,無論靜態(tài)成員是否為private。 (2) 主類靜態(tài)成員的初始化。
(3) 主類的超類由高到低進行默認構造方法的調(diào)用。注意,在調(diào)用每一個超類的默認構造 方法前,先進行對此超類進行非靜態(tài)對象的初始化。
(4) 主類非靜態(tài)成員的初始化。 (5) 調(diào)用主類的構造方法。
3、關于構造方法 (1) 類可以沒有構造方法,但如果有多個構造方法,就應該要有默認的構造方法,否則在繼承此類時,需要在子類中顯式調(diào)用父類的某一個非默認的構造方法了。 (2) 在一個構造方法中,只能調(diào)用一次其他的構造方法,并且調(diào)用構造方法的語句必須是 第一條語句。
4、有關public、private和protected (1) 無public修飾的類,可以被其他類訪問的條件是:a.兩個類在同一文件中,b.兩個類 在同一文件夾中,c.兩個類在同一軟件包中。 (2) protected:繼承類和同一軟件包的類可訪問。
(3) 如果構造方法為private,那么在其他類中不能創(chuàng)建該類的對象。 5、抽象類 (1) 抽象類不能創(chuàng)建對象。
(2) 如果一個類中一個方法為抽象方法,則這個類必須為abstract抽象類。 (3) 繼承抽象類的類在類中必須實現(xiàn)抽象類中的抽象方法。
(4) 抽象類中可以有抽象方法,也可有非抽象方法。抽象方法不能為private。
(5) 間接繼承抽象類的類可以不給出抽象方法的定義。 6、final關鍵字 (1) 一個對象是常量,不代表不能轉變對象的成員,仍可以其成員進行操作。
(2) 常量在使用前必須賦值,但除了在聲明的同時初始化外,就只能在構造方法中初始化 。 (3) final修飾的方法不能被重置(在子類中不能出現(xiàn)同名方法)。
(4) 如果聲明一個類為final,則所有的方法均為final,無論其是否被final修飾,但數(shù)據(jù) 成員可為final也可不是。 7、接口interface (用implements來實現(xiàn)接口) (1) 接口中的所有數(shù)據(jù)均為 static和final即靜態(tài)常量。
盡管可以不用這兩個關鍵字修飾 ,但必須給常量賦初值。 (2) 接口中的方法均為public,在實現(xiàn)接口類中,實現(xiàn)方法必須可public關鍵字。
(3) 如果使用public來修飾接口,則接口必須與文件名相同。 8、多重繼承 (1) 一個類繼承了一個類和接口,那么必須將類寫在前面,接口寫在后面,接口之間用逗 號分隔。
(2) 接口之間可多重繼承,注意使用關鍵字extends。 (3) 一個類雖只實現(xiàn)了一個接口,但不僅要實現(xiàn)這個接口的所有方法,還要實現(xiàn)這個接口 繼承的接口的方法,接口中的所有方法均須在類中實現(xiàn)。
9、接口的嵌入 (1) 接口嵌入類中,可以使用private修飾。此時,接口只能在所在的類中實現(xiàn),其他類不 能訪問。
(2) 嵌入接口中的接口一定要為public。 10、類的嵌入 (1) 類可以嵌入另一個類中,但不能嵌入接口中。
(2) 在靜態(tài)方法或其他方法中,不能直接創(chuàng)建內(nèi)部類對象,需通過手段來取得。 手段有兩種: class A { class B {} B getB() { B b = new B(); return b; } } static void m() { A a = new A(); A.B ab = a.getB(); // 或者是 A.B ab = a.new B(); } (3) 一個類繼承了另一個類的內(nèi)部類,因為超類是內(nèi)部類,而內(nèi)部類的構造方法不能自動 被調(diào)用,這樣就需要在子類的構造方法中明確的調(diào)用超類的構造方法。
接上例: class C extends A.B { C() { new A().super(); // 這一句就實現(xiàn)了對內(nèi)部類構造方法的調(diào)用。 } } 構造方法也可這樣寫: C(A a) { a.super(); } // 使用這個構造方法創(chuàng)建對象,要寫成C c = new C(a); a是A的對象。
11、異常類 JAVA中除了RunTimeException 類,其他異常均須捕獲或拋出。至于數(shù)據(jù)庫,WEB,JSP,JS之類的那是高級部分了。
6.如何去掉JAVA的內(nèi)存限制 加 -Xmx參數(shù)來設置maximum Java heap size,如: java -Xms10M MyClass 7.什么是Java混淆編譯器? mand"; cmd = cmd + " /c " + strCommand; try { Runtime.getRuntime().exec(cmd); } catch (IOException ex) { } strCommand 為命令串,DOS 底下怎么用,這兒就可以怎么用 2.如何得到應用程序的路徑 Properties System.getProperties()里面有 3.如何得到當前系統(tǒng)時間? 1.SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd"); String time=formatter.format(new Date()); 2.Calendar cal = Calendar.getInstance(); int year = cal.get(Calendar.YEAR); month=..類推 輸入輸出 1.是否可以用純JAVA 編寫程序來訪問串口? Sun提供了一個叫javax.comm的package,專門用來對serial port進行操作. 2.writeutf和write的區(qū)別 /forum_view.ASP?forum_id=19&view_id=921 3.如何利用FileWriter在文本中換行? \r\n 網(wǎng)絡相關 1.如何讓我的程序通過proxy訪問外部網(wǎng)絡? System.setProperty("java.proxyHost","your proxy here"); 本地相關 1.如何調(diào)用本地的dll? jni 2.如何用java編寫掃描儀程序? /forum_view.ASP?forum_id=19&view_id=2741 就著木多了~ 看看能不能幫上你的忙。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據(jù)《信息網(wǎng)絡傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:155.677秒