1.類:java做爲面向對象型語言具備三個特性:①封裝性。②繼承性。③多態性。java中類是基本要素,類聲明的變量叫對象。在類中定義體的函數題叫方法。html
2.類與程序的基本結構:(一)構造方法:建立對象時用,構造方法與類同名,沒有類型。能夠建立構造方法,但要保證參數個數不一樣或參數類型不一樣。(二)爲對象分配變量時要用new字符。用「.」運算符來操做對象。(三)java有若干個類構成,這些類能夠在一個源文件也能夠在若干文件夾裏。java
3.參數傳值:(一)傳值機制:方法中參數變量的值是調用者指定值得拷貝。git
4.對象的組合:一個類能夠把某個對象做爲本身的成員變量。一個對象a組合了對象b,那麼a能夠委託b調用其方法,即對象a以組合的方式複用b的方法。算法
5.實例成員與類成員(一)在變量或方法前加上static叫類變量,不然叫實例變量。(二)區別:不一樣對象的實例變量各不相同,全部對象共享類變量,直接能夠經過類名進行訪問。(三)類方法只能調用類變量,而實例變量能夠調用類變量,也能夠調用實例變量。數組
6.方法重載:(一)定義:一個類能夠有多個方法具備相同的名字,可是得保證這些方法的參數不一樣或參數類型不一樣。(二)調用重載方法引用要明確,對應相同類型的參數,調用相同類型的參數的重載方法。瀏覽器
7.this關鍵字:(一)this關鍵字表示某個對象。(二)this不能夠出如今類方法中,在類方法中能夠將this改成類名。函數
8.包:經過包語句package將幾個源文件打包在一個文件夾下,能夠對java文件進行有效的管理。學習
9.import語句:(一)語句做用是引入包中的類。(二)java.lang包是java語言的核心語句,不須要import語句來引入,其中包括「System類,Math類」。(三)若是沒有用import引入包內的類,能夠直接帶包名使用該類。(四)用 private,public,protected修飾的方法和成員變量有必定的訪問權限。(五)javadoc 文件名.java 會在目錄中生成一個html的文檔,能夠用瀏覽器進行查看。this
10.JRE擴展與jar文件:/jre/lib/ext,只要經類打包成jar文件,放入ext中,程序就可使用import來使用擴展中的類。htm
1.沒搞明白教材(P83)4.8.2中的歧義調用,爲何沒法經過編譯?
解決:詢問同窗:10爲int型,10.0爲double型,參數(10,10)對應的應該是(int m,int n),而類中卻沒有這樣的調用
2.在方法重載時能夠只保證返回類型不同嗎?
解決:百度:方法返回類型不參與運算和比較,因此仍是得保證方法參數不一樣,或參數類型不一樣。
從類到建立對象以及對調用方法等讓我感到java這個面嚮對象語言的強大,但讓我真正感到強大的是java龐大的類庫,好比java.lang,java.until等,這些類庫給咱們提供了不少算法。與c語言不一樣的是,c語言一個很簡單的算法如排序查找等都得本身寫算法,而java就能夠經過import語句調用類庫中的算法。其實我以爲c語言中的結構體與Java中的類有着相同的做用,c語言中有結構體數組,而java中有對象數組,都是在數組中存放一個個結構體或對象。但區別是是C語言中的結構體只是面向本身,而java中的類是面向全部對象的,不一樣的源文件能夠調用不一樣源文件中的類。
已完成650代碼,9篇博客,學習了git的用法,java的基本語法,類與對象及打包。