第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 構(gòu)建Java程序2.6.1 名字的可見性2.6.2 使用其他組件2.6.3 static關(guān)鍵字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 總結(jié)2.11 練習 第3章 控制程序流程3.1 使用Java運算符3.1.1 優(yōu)先級3.1.2 賦值3.1.3 算術(shù)運算符3.1.4 自動遞增和遞減3.1.5 關(guān)系運算符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 運算符總結(jié)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 總結(jié)3.4 練習 第4章 初始化和清除4.1 由構(gòu)建器保證初始化4.2 方法過載4.2.1 區(qū)分過載方法4.2.2 主類型的過載4.2.3 返回值過載4.2.4 默認構(gòu)建器4.2.5 this關(guān)鍵字4.3 清除:收尾和垃圾收集4.3.1 finalize()用途何在4.3.2 必須執(zhí)行清除4.4 成員初始化4.4.1 規(guī)定初始化4.4.2 構(gòu)建器初始化4.5 數(shù)組初始化4.5.1 多維數(shù)組4.6 總結(jié)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 總結(jié)5.6 練習 第6章 類再生6.1 合成的語法6.2 繼承的語法6.2.1 初始化基礎(chǔ)類6.3 合成與繼承的結(jié)合6.3.1 確保正確的清除6.3.2 名字的隱藏6.4 到底選擇合成還是繼承6.5 protected6.6 遞增開發(fā)6.7 上溯造型6.7.1 何謂“上溯造型”?6.8 final關(guān)鍵字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 總結(jié)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 構(gòu)建器和多形性7.7.1 構(gòu)建器的調(diào)用順序7.7.2 繼承和finalize()7.7.3 構(gòu)建器內(nèi)部的多形性方法的行為7.8 通過繼承進行設(shè)計7.8.1 純繼承與擴展7.8.2 下溯造型與運行期類型標識7.9 總結(jié)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 總結(jié)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 構(gòu)建器9.8 違例匹配9.8.1 違例準則9.9 總結(jié)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流的典型應(yīng)用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 總結(jié)10.11 練習 第11章 運行期類型鑒定11.1 對RTTI的需要11.1.1 Class對象11.1.2 造型前的檢查11.2 RTTI語法11.3 反射:運行期類信息11.3.1 一個類方法提取器11.4 總結(jié)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 通過序。
根據(jù)大家在Java開發(fā)過程中容易混淆的知識點,下面進行一個總結(jié)。
1.Java語言的三種技術(shù)架構(gòu)J2EE:企業(yè)版是為開發(fā)企業(yè)環(huán)境下的應(yīng)用程序提供的一套解決方案。該技術(shù)體系中包含的技術(shù)如 Servlet、Jsp等,主要針對于Web應(yīng)用程序開發(fā)。
J2SE:標準版是為開發(fā)普通桌面和商務(wù)應(yīng)用程序提供的解決方案。該技術(shù)體系是其他兩者的基礎(chǔ),可以完成一些桌面應(yīng)用程序的開發(fā)。
J2ME:小型版是為開發(fā)電子消費產(chǎn)品和嵌入式設(shè)備提供的解決方案。該技術(shù)體系主要應(yīng)用于小型電子消費類產(chǎn)品,如手機中的應(yīng)用程序等。
2.Java的跨平臺性指通過Java語言編寫的應(yīng)用程序在不同的系統(tǒng)平臺上都可以運行。 實現(xiàn)步驟只需要在運行Java應(yīng)用程序的操作系統(tǒng)上,先安裝一個Java虛擬機(JVM Java Virtual Machine)即可。
3.函數(shù)就是定義在類中的具有特定功能的一段獨立小程序。通過定義函數(shù)可以將功能代碼進行封裝,提高了代碼的復用性。
4.重載指在同一個類中,允許存在一個以上的同名函數(shù),只要它們的參數(shù)個數(shù)或者參數(shù)類型不同即可。 5.數(shù)組:概念:同一種數(shù)據(jù)類型的集合。
好處:可以自動給數(shù)組中的元素從0開始編號,方便操作這些元素。
java初學者到精通,要掌握的知識點可以參考如下內(nèi)容:一、學習DreamWaveMX中文版的網(wǎng)頁設(shè)計技術(shù)。
HTML網(wǎng)頁設(shè)計,這是最基本的。學習XML的一些基本知識。
初步掌握一些Jscript..的應(yīng)用。二、學習Java語言。
學習Java語言的第一步是安裝好JDK,JDK的環(huán)境變量的配置,至于如何配置JDK的環(huán)境變量,網(wǎng)上關(guān)于這樣的文章很多,你可以搜索一下,這里就不多說。配置好環(huán)境變量以后,寫一個Hello World的小程序測試一下JDK是否已安裝成功。
環(huán)境變量配置成功以后就可以著手學習Java的語法了,先找一本系統(tǒng)的java程序設(shè)計的書,開始最好不要用eclipse等之類的高度集成的IDE環(huán)境,用文本編輯器配合JDK就行了,這樣助你理解下列幾個基礎(chǔ)概念:path,class_path,package ,并熟悉基本命令:JDK的最重要命令行工具: java: 啟動JVM執(zhí)行class javac: Java編譯器 jar: Java打包工具 javadoc: Java文檔生成器 這些命令行必須要非常熟悉。對于這些命令的學習,JDK Documentation上有詳細的文檔。
下載和你的JDK版本一致的API幫助。三、是學習Java的面向?qū)ο蟮木幊陶Z言的特性的地方,比如繼承,構(gòu)造器,抽象類,接口,方法的多態(tài),重載,覆蓋,Java的異常處理機制。
可以參照《Thinking in java》這本書,對面向?qū)ο蟮闹v解很透徹。四、就是開始熟悉Java的類庫,Java的基礎(chǔ)類庫非常多,但是真正對于我們來說最核心的只有4個,分別是 java.lang.*; java.io.*; java.util.*; java.sql.*; 要知道包有哪些方面的類構(gòu)成的,這些類的用途是什么,最核心的幾個類分別是完成什么功能的。
五、JDK Documentation。通過上面的學習,如果學的比較扎實的話,就打好了Java的基礎(chǔ)了,接著要學習Documentation里面除了上面4個包之外的其他一些比較有用處的類。
相信進展到這一步,Java的自學能力已經(jīng)被培養(yǎng)出來了,可以到了直接學習Documentation的水平了。除了要做GUI編程之外,JDK里面其他會有用處的包是這些: java.text.*; java.NET.*; javax.naming.*; 這些包里面真正用的比較多的類其實很少,只有幾個,所以不需要花很多時間。
六、Java Web 編程學習java web 編程之前要先下載安裝應(yīng)用服務(wù)器(App Server),比較常用的應(yīng)用服務(wù)器(App Server)有Tomcat 、BEA Weblogic、IBM Webshpere、Jboss 。以Tomcat為例,下載安裝Tomcat以后設(shè)置兩個環(huán)境變量: JAVA_HOME=C:/j2sdk1.4.2 CATALINA_HOME=D:/tomcat4 (你的Tomcat安裝目錄)Java的Web應(yīng)用至少需要安裝JDK和一個web容器(例如Tomcat),以及一個多用戶數(shù)據(jù)庫,Web應(yīng)用至少分為三層: Browser層:瀏覽器顯示用戶頁面 Web層:運行Servlet/JSP DB層:后端數(shù)據(jù)庫,向Java程序提供數(shù)據(jù)訪問服務(wù)七、學習J2EE的基本程序設(shè)計。
(1)首先學習JSP動態(tài)網(wǎng)頁設(shè)計。掌握JSP、JAVABEANS、JDBC、JSTL等技術(shù),最好以TOMCAT作為實驗環(huán)境。
因為它影響力大,雖然性能不怎么的,很多JSP技術(shù)討論都是以它為背景。(2)學習EJB的程序設(shè)計思想。
在學習EJB之前要學習對象序列化和RMI,RMI是EJB的基礎(chǔ)。接著學習JMS和EJB,對于EJB來說,最關(guān)鍵是要理解EJB是如何通過RMI來實現(xiàn)對遠端對象的調(diào)用的,以及在什么情況下要用到EJB。
八、學習“設(shè)計模式”??梢詤⒄铡秊ava設(shè)計模式》,這本書學習。
九、學習一些經(jīng)典框架的應(yīng)用:(1)struts1.1、webwork2(2)hibernate(3)Ibatis/DAO框架(4)spring十、分析一些經(jīng)典的應(yīng)用系統(tǒng):Jive、XPetstore、JPetstore等。
對于Java開發(fā)學習者來說,基礎(chǔ)掌握的知識點有以下幾種:
1. Java面向?qū)ο蟮膬?yōu)點:易維護、易復用、易擴展,由于面向?qū)ο笥蟹庋b、繼承、多態(tài)性的特性,可以設(shè)計出低耦合的系統(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)是指子類對父類方法的一種重寫,子類只能拋出比父類更少的異常,且訪問權(quán)限不能比父類的小。被覆蓋的方法不能是 private 的,否則只是在子類中重新定義了一個方法。
Java中重載(Overload)表示同一個類中可以有多個名稱相同的方法,但這些方法的參數(shù)列表各不相同。
java要學習知識重點:
第一階段:
1.JAVA語法和基礎(chǔ),包括循環(huán)。和類的相關(guān)內(nèi)容,如實現(xiàn),繼承什么的
2.需要掌握幾個重點的集合,List接口的兩個子類LinkedList,ArrayList;然后是Map幾口的兩個子類HashMap,HashTable;Set接口掌握List后學Set就容易了;掌握Collection和Collections的區(qū)別
3.掌握IO一章,重點的幾個流 InputStream,OuputStream;BufferedReader,BufferedWrite;
ObjectInputStream, ObjectOutputStream,,PrintWriter,FileReader,FileWriter了解JAVA的序列化,掌握JAVA的File類
4.JDBC非常重要,重點掌握Connection,PreparedStatement, Statement,ResultSet,
其他的可以在學習或項目中如果碰到再學
第二階段
1.HTML+JAVASCRIPT,掌握多少看自己把握了,CSS做了解即可
2.JSP+Servlet,需要重點掌握幾個,Request,Response,Session,其次是Application.
另外需要知道Redirect,ForWard的區(qū)別,Servlet的生命周期等
3. 標簽方面:(1)掌握EL表達式;(2)最好掌握JSTL標簽
4. 學習AJAX,無需深入研究
5. 掌握了上面的,還可以繼續(xù)學習框架:Struts2.0;Hibernate3;Spring 2.0
Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言。Java 技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性,廣泛應(yīng)用于PC、數(shù)據(jù)中心、游戲控制臺、科學超級計算機、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。
話說,磨刀不誤砍材工,你把基礎(chǔ)的東西掌握好,所有的東西都是在基礎(chǔ)的上面改變的。
首先你先學習好基本語法,盡自己最大可能的弄懂,因為你如果基礎(chǔ)不牢靠,那么你以后遇到什么問題是很難解決的,然后多看看源代碼,比如最基礎(chǔ)的一個for循環(huán),現(xiàn)在基本很多程序員都知道怎么用,就算只看過幾次的也知道怎么用,但是你如果問他for循環(huán)的機制,我想回答出來的很少。想想現(xiàn)在的程序開發(fā),不外乎兩種,if和for,跳不出這個圈子的。
然后,基本功練扎實了,就需要開始轉(zhuǎn)變自己的思想。OOP思想,圍繞的核心就是:萬事萬物皆對象。
等到以后你慢慢開始。
Java 基本知識點概要1. 了解Java語言的特征,掌握JDK(Java開發(fā)工具包)的安裝、目錄層次、環(huán)境變量配置,Java程序的實現(xiàn)過程 a).J2SE 1.6( JDK1.5)的安裝:(推薦路徑) Jdk路徑: C:\Soft\JDK1.6 Jre路徑: C:\program files\Java\jre1.6.0\。
b).環(huán)境變量配置: 我的電腦--〉右擊屬性--〉高級--〉環(huán)境變量--〉新建 變量名 變量值 Java_Home C:\Soft\JDK1.6 Path %Java_Home%\bin ClassPath %Java_Home%\jre\lib\rt.jar;.c).編寫Java源文件(Xxx.java)==>編譯成字節(jié)碼 (javac Xxx.java) ==>執(zhí)行字節(jié)碼文件 java Xxx 2.Java語言基礎(chǔ) a). 數(shù)據(jù)類型: 8種基本類型:byte,char,short,int,long,float,double,boolean 引用類型: 數(shù)組, 類,接口 b).結(jié)構(gòu)化語句: if,if--else ,if--else if ,switch--case,while,do--while,for c).數(shù)組 int num[]={1,2,3,4,5}; <> int []num={1,2,3,4,5}; int num[]=new int[size]; int num[]=new int[]{1,2,3,4,5};3.面向?qū)ο蟮幕A(chǔ) a).類:具有相同屬性和行為的一組對象的集合 b).對象:客觀存在的或可被描述的抽象對象,具有特定屬性和行為的實體。 c).類是對象的模板(原型),對象是類的具體實例 d).抽象、封裝、繼承,多態(tài)(重載,重寫,接口多實現(xiàn)) e).構(gòu)造方法(默認構(gòu)造器/參數(shù)化構(gòu)造器) f).限制訪問修飾符: private,缺省(默認),protected,public g).附加修飾符:final,static,abstract h).接口4.Java 基礎(chǔ)包 a). java.lang : 包裝類(Byte,Character,Short,Integer,Long,Float,Double,Boolean) 其它類:String,StringBuffer,Math,Class,Object b). java.util 隨機類:Random 日期類:Date,Calender 集合框架體系:Collection,List,Set,ArrayList,LinkedList,Vector,HashMap c). java.io 文件類:File 字節(jié)流:FileInputStream,FileOutputStream 字符流:FileReader,FileWriter,BufferedReader,BufferedWriter 二進制流:(了解) DataInputStream,DataOutputStream 構(gòu)造鍵盤流:BufferedReader input= new BufferedReader(new InputStreamReader(System.in)); d). java.swt /javax.swing 容器類組件:JFrame,JPanel,JScrollPane 組件: JLabel,JTextField,JPasswordField,JTextArea,JComboBox, JRadioButton,JCheckBox,JMenuBar,JMenu,JMenuItem5.JDBC 數(shù)據(jù)庫連接 數(shù)據(jù)庫的連接步驟: 1). 加載數(shù)據(jù)庫驅(qū)動類: Class.forName(driver) 2). 通過驅(qū)動程序管理器獲取連接: DriverManager.getConnection(url,user,password) 3). 基于連接對象建立處理器對象/預處理器對象 Statement stmt=conn.createStatement(); PreparedStatement stmt=conn.prepareStatement("insert into student values(?,?,?,?,?)"); 4). 處理器執(zhí)行SQL命令(Select/Insert/Update/Delete) executeQuery(Select) ==>返回查詢的結(jié)果集(ResultSet, ResultSet.getXXX(列編號,從1開始)) executeUpdate(Insert/Update/Delete) ==>返回執(zhí)行命令影響的記錄行(int) 5). 關(guān)閉各個對象 導入java.sql包 一、加載要連接數(shù)據(jù)庫的驅(qū)動程序 Class.forName(driver) 注:Class.forName()方法將給定的類加載到JVM,如果系統(tǒng)中不存在給定的類, 則會引發(fā)異常 二、通過驅(qū)動程序管理器得到連接實例 Connection conn=DriverManager.getConnection(url,user,pwd); 注1:DriverManager類跟蹤已注冊的驅(qū)動程序,通過getConnection(URL)方法, 找到一個能夠連接至URL中指定的數(shù)據(jù)庫驅(qū)動程序,它接收三個參數(shù), 分別表示: 數(shù)據(jù)源的名稱(類型) 、用戶名(可選)、密碼(可選) 注2: 1). localhost 表示本機,也可以用127.0.0.1 如果你連的不是本機,可能通過 機器名 或 IP(192.111.113.100) 來連接 2). 1433是端口號,SQL server默認是1433 , 自己可以手工的改動它 3). databasename后面跟你的數(shù)據(jù)庫的名稱,表示你要連接的數(shù)據(jù)庫是哪個 4). 最后是用戶名及密碼, 當前可以訪問該數(shù)據(jù)庫的用戶及密碼 注3:基于不同連接方式和不同類型的數(shù)據(jù)源連接字符串如下: 1. Jdbc-Odbc橋 (SQLServer/Microsoft Access )數(shù)據(jù)庫 1.1 加載驅(qū)動程序: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 1.2 建立數(shù)據(jù)源(控制面板中配置數(shù)據(jù)源,MyDataSource是數(shù)據(jù)源名稱) conn=DriverManager.getConnection("jdbc:odbc:MyDataSource"); 2. 直連SQLServer 驅(qū)動程序: -- SQLServer 2000: 2.1 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 2.2 conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;dataBaseName=DBName","sa",""); -- SQLServer 2005: 3.1 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); 3.2 conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433; dataBaseName=DBName","sa","");-- 直連Access 驅(qū)動程序: 4.1 加載驅(qū)動程序: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 4.2、不建立數(shù)據(jù)源 ,直接寫連接字符串 conn=DriverManager.getConnection("jdbc:odbc:;Driver=Microsoft Access Driver (*.mdb);DBQ=Test.mdb"); 注: 1). DBQ后面指定的是要連接的Access 數(shù)據(jù)庫 2). Microsoft Access driver (*.mdb) 中。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請在一個月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:2.760秒