學習了java有一段時間了,回頭想了想本身學到了哪些技術知識,彷佛曆來都沒有梳理過,今天心血來潮,整理一下吧!由於不擅長作總結,因此記錄的比較零碎,請你們不要介意。java
一:bye和char的區別與聯繫學習
byte 8個bit 由於是有符號的因此取值範圍(-128~127) ;char和short 16個bit,char是無符號的取值範圍(0~65535) ;int和float 都是32個bit ;long和double都是64個bit 。對象
byte和char的區別:繼承
1.Char是無符號型的,能夠表示一個整數,不能表示負數;而byte是有符號型的,能夠表示-128—127的數;內存
2.char能夠表中文字符,byte不能夠;作用域
3.char、byte、int對於英文字符,能夠相互轉化。it
2、標識符的組成編譯
字母,數字,下劃線,$,不能以數字開頭,不能使用關鍵字和保留關鍵字。(ps:關鍵字是指java中已經定義的具備特定功能的標識符,不能用做普通標識符)class
3、定義的位置不一樣變量
1.成員變量直接定義在類內部,局部變量是定義某個方法體內部;
2.做用域不一樣,成員變量適用於整個類和與該類相關的類,局部變量只適用於該方法內部;
3.初始值不一樣:成員變量能夠不顯式初始化,它們能夠由系統設定默認值,局部變量沒有默認值,因此必須設定初始賦值;
4.不一樣方法能夠有重名的局部變量;
5.若是類變量和局部變量重名,局部變量更有優先級。
四:「static」關鍵字代表一個成員變量或者是成員方法能夠在沒有所屬的類的實例變量的狀況下被訪問。
Java中static方法不能被覆蓋, 由於方法覆蓋是基於運行時動態綁定的,static方法是編譯時靜態綁定的。static方法跟類的任何實例都不相關,因此概念上不適用。 而靜態修飾符,正如你們所知,在程序中任何變量或者代碼都是在編譯時由系統自動分配內存來存儲的,而所謂靜態就是指在編譯後所分配的內存會一直存在,直到程序退出內存纔會釋放這個空間,也就是隻要程序在運行,那麼這塊內存就會一直存在。因此這樣作有什麼意義呢?
在Java程序裏面,全部的東西都是對象,而對象的抽象就是類,對於一個類而言,若是要使用他的成員,那麼普通狀況下必須先實例化對象後,經過對象的引用纔可以訪問這些成員,可是有種狀況例外,就是該成員是用static聲明的(在這裏所講排除了類的訪問控制)
五:靜態變量和靜態方法
1.靜態變量能夠直接被類和對象調用;
2.靜態方法中不能直接調用非靜態變量和非靜態方法,能夠經過建立對象調用;
3.普通方法中能夠直接調用,類中的靜態和非靜態變量;
6、抽象類總結
1.包含抽象方法的類必定抽象類,定義了抽象類(abstract class A)不必定有抽象方法,抽象類中也能夠定義普通方法; 2.抽象類必須用public或protected修飾; 3.抽象類不能用來建立對象; 4.若是一個類繼承了抽象類則子類必須實現父類的全部抽象方法方法。