一 有很多教程,叫學了也白搭
這年頭,網上的Java教程一堆一堆的,看的我們很多Java寶寶們是眼花繚亂,不知該如何是好,我當年也是從這個過程走過來的,每天看很多老師的Java教程,聽的自己暈頭轉向的,當然我不是說他們講錯了,他們講的知識層面的東西是對的,但是很多做Java教程的老師不善於深入淺出,通俗易懂的來為我們講解知識,什麼是好教程?好教程就是讓我們學了之後,有一種豁然開朗的感覺,而不是雲深不知處,我想說的是這種教程,不看也罷,浪費了時間,迷茫了自己。
二 有一種教程叫無論你身處何地,都能現場直播教你
現在很多網上流傳的教程都是很多年前的,遠遠的不適應現在Java新應用的需要,基本上都是一些淘汰貨,很多小夥伴們,從網上找這種破爛,學的還不亦樂乎,也是醉了。綜上所述,我們很多人學不好Java,是因為 一開始就選擇錯了,選擇不對,努力白費。為了能夠讓廣大Java學子們在網上學到Java的系統精華知識,通俗易懂的理解這些知識,我們決定現在每天晚上現場直播在網上教大家學習Java,我們的老師,一般的老師不用,我們只讓牛掰的老師講,而你什麼都不需要付出,你只需要來我們這個群里聽就行,開頭的的第一部分是:426.,位於中間的第二部分是:396,處於最後一部分的是:284,學習沒有任何借口,想強大就要努力,同時這也不是一個單打獨斗的時代了,大家在這里一塊學習,打拚出屬於我們的Java新天地。
基本概念:
1.OOP中唯一關系的是對象的介面是什麼,就像計算機的銷售商她不管電源內部結構是怎樣的,他只關系能否給你提供電就行了,也就是只要知道can or not而不是how and why.所有的程序是由一定的屬性和行為對象組成的,不同的對象的訪問通過函數調用來完成,對象間所有的交流都是通過方法調用,通過對封裝對象數據,很大限度上提高復用率。
2.OOP中最重要的思想是類,類是模板是藍圖,從類中構造一個對象,即創建了這個類的一個實例(instance)。
3.封裝:就是把數據和行為結合起在一個包中)並對對象使用者隱藏數據的實現過程,一個對象中的數據叫他的實例欄位(instance field)。
4.通過擴展一個類來獲得一個新類叫繼承(inheritance),而所有的類都是由Object根超類擴展而得,根超類下文會做介紹。
5.對象的3個主要特點
behavior---說明這個對象能做什麼.
state---當對象施加方法時對象的反映.
identity---與其他相似行為對象的區分標志.
每個對象有唯一的indentity 而這3者之間相互影響.
6.類之間的關系:
use-a :依賴關系
has-a :聚合關系
is-a :繼承關系--例:A類繼承了B類,此時A類不僅有了B類的方法,還有其自己的方法.(個性存在於共性中)
7.構造對象使用構造器:構造器的提出,構造器是一種特殊的方法,構造對象並對其初始化。
例:Data類的構造器叫Data
new Data()---構造一個新對象,且初始化當前時間.
Data happyday=new Data()---把一個對象賦值給一個變數happyday,從而使該對象能夠多次使用,此處要聲明的使變數與對象變數二者是不同的.new返回的值是一個引用。
構造器特點:構造器可以有0個,一個或多個參數
構造器和類有相同的名字
一個類可以有多個構造器
構造器沒有返回值
構造器總是和new運算符一起使用.
8.重載:當多個方法具有相同的名字而含有不同的參數時,便發生重載.編譯器必須挑選出調用哪個方法。
9.包(package)Java允許把一個或多個類收集在一起成為一組,稱作包,以便於組織任務,標准Java庫分為許多包.java.lang java.util java,net等,包是分層次的所有的java包都在java和javax包層次內。
10.繼承思想:允許在已經存在的類的基礎上構建新的類,當你繼承一個已經存在的類時,那麼你就復用了這個類的方法和欄位,同時你可以在新類中添加新的方法和欄位。
11.擴展類:擴展類充分體現了is-a的繼承關系. 形式為:class (子類) extends (基類)。
12.多態:在java中,對象變數是多態的.而java中不支持多重繼承。
13.動態綁定:調用對象方法的機制。
(1)編譯器檢查對象聲明的類型和方法名。
(2)編譯器檢查方法調用的參數類型。
(3)靜態綁定:若方法類型為priavte static final 編譯器會准確知道該調用哪個方法。
(4)當程序運行並且使用動態綁定來調用一個方法時,那麼虛擬機必須調用x所指向的對象的實際類型相匹配的方法版本。
(5)動態綁定:是很重要的特性,它能使程序變得可擴展而不需要重編譯已存代碼。
14.final類:為防止他人從你的類上派生新類,此類是不可擴展的。
15.動態調用比靜態調用花費的時間要長。
16.抽象類:規定一個或多個抽象方法的類本身必須定義為abstract。
例: public abstract string getDescripition
17.Java中的每一個類都是從Object類擴展而來的。
18.object類中的equal和toString方法。
equal用於測試一個對象是否同另一個對象相等。
toString返回一個代表該對象的字元串,幾乎每一個類都會重載該方法,以便返回當前狀態的正確表示.
(toString 方法是一個很重要的方法)
19.通用編程:任何類類型的所有值都可以同object類性的變數來代替。
20.數組列表:ArrayList動態數組列表,是一個類庫,定義在java.uitl包中,可自動調節數組的大小。
21.class類 object類中的getclass方法返回ckass類型的一個實例,程序啟動時包含在main方法的類會被載入,虛擬機要載入他需要的所有類,每一個載入的類都要載入它需要的類。
22.class類為編寫可動態操縱java代碼的程序提供了強大的功能反射,這項功能為JavaBeans特別有用,使用反射Java能支持VB程序員習慣使用的工具。
能夠分析類能力的程序叫反射器,Java中提供此功能的包叫Java.lang.reflect反射機制十分強大.
1.在運行時分析類的能力。
2.在運行時探察類的對象。
3.實現通用數組操縱代碼。
4.提供方法對象。
而此機制主要針對是工具者而不是應用及程序。
反射機制中的最重要的部分是允許你檢查類的結構.用到的API有:
java.lang.reflect.Field 返回欄位.
java.reflect.Method 返回方法.
java.lang.reflect.Constructor 返回參數.
方法指針:java沒有方法指針,把一個方法的地址傳給另一個方法,可以在後面調用它,而介面是更好的解決方案。
23.介面(Interface)說明類該做什麼而不指定如何去做,一個類可以實現一個或多個interface。
24.介面不是一個類,而是對符合介面要求的類的一套規范。
若實現一個介面需要2個步驟:
1.聲明類需要實現的指定介面。
2.提供介面中的所有方法的定義。
聲明一個類實現一個介面需要使用implements 關鍵字
class actionB implements Comparable 其actionb需要提供CompareTo方法,介面不是類,不能用new實例化一個介面.
25.一個類只有一個超類,但一個類能實現多個介面。Java中的一個重要介面:Cloneable
26.介面和回調.編程一個常用的模式是回調模式,在這種模式中你可以指定當一個特定時間發生時回調對象上的方法。
例:ActionListener 介面監聽.
類似的API有:java.swing.JOptionPane
java.swing.Timer
java.awt.Tookit
27.對象clone:clone方法是object一個保護方法,這意味著你的代碼不能簡單的調用它。
28.內部類:一個內部類的定義是定義在另一個內部的類。
原因是:
1.一個內部類的對象能夠訪問創建它的對象的實現,包括私有數據。
2.對於同一個包中的其他類來說,內部類能夠隱藏起來。
3.匿名內部類可以很方便的定義回調。
4.使用內部類可以非常方便的編寫事件驅動程序。
29.代理類(proxy):
1.指定介面要求所有代碼
2.object類定義的所有的方法(toString equals)
30.數據類型:Java是強調類型的語言,每個變數都必須先申明它都類型,java中總共有8個基本類型.4種是整型,2種是浮點型,一種是字元型,被用於Unicode編碼中的字元,布爾型。
提問者評價
謝謝!
B. 學習java難不難啊
零基礎學習java
第一步,首先先學習,計算機基本原理,Java語言發展簡史,這些是最基本的常識,初學者一定要了解這些常識。
第二步:要了解java開發的環境搭建,體驗java程序員的開發環境,比如變數path和classpath的設置,java程序員的執行過程,java反編譯工具。然後了解,計算機常用進制二、八、十六的介紹,以及它們與十進制之間的相互轉化,ASCII碼。
第四步:
對象的本質,理解面向對象,類與對象的關系,在程序中如何應用面向對象的思想解決問題。
如何設計類,設計類的基本原則,類的實例化過程,類的細節:構造函數、this關鍵字、方法和方法的參數傳遞過程、static關鍵字、內部類,Java的垃極回收機制,Javadoc介紹。
對象的三大特性:封裝、繼承和多態,以及相應的Java實現:子類對象的實例化過程、方法的覆蓋、final關鍵字、抽象類、介面、繼承的優點和缺點剖析。
對象的多態性:子類和父類之間的轉換、抽象類和介面在多態中的應用、多態帶來的好處。Extensibility的理解 、Extensibility的運用。
常用設計模式:Singleton、Template、Strategy模式。
第五步:這一階段,你有很多知識點要學習。
如下:
JavaAPI介紹、Eclipse的安裝和使用、String和StringBuffer、各種基本數據類型包裝類,System和Runtime類,Date和DateFomat類等。Java Collections Framework:Collection、Set、List、ArrayList、Vector、LinkedList、Hashset、TreeSet、Map、HashMap、TreeMap、Iterator、Enumeration等常用集合類API。
IO概念,File和FileRandomAccess類,位元組流InputStream和OutputStream,字元流Reader和Writer,以及相應實現類,IO性能分析,位元組和字元的轉化流,包裝流的概念,以及常用包裝類,計算機編碼。
遞歸程序,Java的高級特性:反射、代理和泛型。
第六步:這一階段,你要開始了解多線程了!
這階段,你主要的知識點如下:
多線程的概念,如何在程序中創建多線程(Thread、Runnable),線程安全問題,線程的同步,線程之間的通訊、死鎖。Java圖形用戶介面編程(AWT、Swing),Java的事件處理機制,Java Applet簡介。Java網路編程,網路通信底層協議TCP和UDP,以及其相應的Java實現:DatagramSocket,DatagramPacket,ServerSocket,Socket編程。網路通信常用應用層協議簡介:HTTP、SMTP、POP3、MIME,以及WEB伺服器的工作原理。編寫網路聊天程序。Java正則表達式API詳解及其應用。
第七步:這一階段,你要學習html和JavaScript
主要知識點:
HTML語言,HTML語言背景知識、HTML全局標簽、格式標簽、文件標簽、超鏈接標簽、圖像標簽、客戶端圖像地圖、表格標簽、幀標簽、表單標簽、頭元素、分區標簽。CSS介紹、CSS的設置方法、樣式選擇器、樣式屬性介紹,Dreamweaver的使用。JavaScript編程,JavaScript語法、運算符、流程式控制制、函數、數組、對象、JavaScript的內部對象,JavaScript中專用於操作對象的語句。DHTML編程,理解DOM樹,DOM對象,常用DOM對象的屬性、方法和事件,編寫事件處理程序、使用DOM操作HTML文檔、遍歷文檔樹上的節點、搜索文檔中特定的元素、修改文檔內容、往文檔添加新內容、使用DOM操作XML文檔。DHTML編程的實用案例:網頁換膚、HTML表格排序等,以及JavaScript中的正則表達式及其應用。
C. java web開發的學習
推薦書籍<<新起點JAVA基礎設計與上機指導>>這本書是我們學校用的..
還不錯....內容挺好的...
樓主要向這方面發展要學的知識有:
1. JAVA 是基礎
2. html ,css 是靜態頁面基礎
3. jsp 是動態頁面基礎(與資料庫交互)
4. javascript頁面特效
5. 資料庫操作(SQL Server,mysql and so on)
後面高深知識:(可選)
6. struts 框架
7. hibernate框架
8. Spring 框架
9. DWR 框架 (Ajax 無動態刷新頁面)
學習注意事項:
1.把書翻三遍....
2.每個小項目做一遍...
3.以上內容學完後..找兩個中型小項目做做...
4.如果遇到什麼問題的話...自己獨立解決..即使是到網上找答案也要自己找...如果不行的話...到網路知道或是CSDN去問一下網友..我想會有好心的朋友幫助你解決問題的...如果實在是解決不了的話..就去問老師...
5.我想上面的都做完的你的J2ee就差不多達到初級程序員的水平了
6.然後做兩個大型的項目你就是中級程序員了..
好好努力吧!....
希望樓主早日成為項目經理.....
再做個總經理.......
你要相信你自己...不過你要努力學習...我想只要半年時間..
樓主的技術就上一個很高的水平的提高...
因為我的知識大部分都是自學的....
學校老師只教了一些基礎...
我相信樓主也可以成功!!
這是自己的原創...絕對沒有復制別人的....
衷心的祝願樓主早日在這方面創下一番事業!!!
D. java web 開發詳解孫鑫的(.doc)
CSDN上找找,應該有
這里有,但不全
http://book.csdn.net/bookfiles/56/index.html#c1
這個比較全
JAVAWEB開發詳解(孫鑫)電子版下載內:
大小:318M
地址容:ftp://125.64.92.37/book7/20070608/09e143d0-f4e1-459a-bee3-48332b8d2e97.rar