- 相關(guān)推薦
java知識(shí)點(diǎn)總結(jié)
java都有哪些知識(shí)點(diǎn)?下面是小編整理總結(jié)的一些java知識(shí)點(diǎn),希望對(duì)你有幫助。
java知識(shí)點(diǎn)總結(jié)
1. 基本數(shù)據(jù)類型
整形:
byte 1 個(gè)字節(jié)
short 2 個(gè)字節(jié)
int 4個(gè)字節(jié)
long 8個(gè)字節(jié)
字符:
char 2個(gè)字節(jié)
浮點(diǎn)數(shù):
float 4個(gè)字節(jié)
double 8個(gè)字節(jié)
布爾:
boolean 1個(gè)字節(jié)
2.java 7 新增二進(jìn)制整數(shù),以0b或者0B開頭
3.java中字符時(shí)16位的Unicode編碼方式,格式是'\uXXXX',其中xxxx代表一個(gè)十六進(jìn)制整數(shù)
4.java中規(guī)定了正無窮大、負(fù)無窮大和零
正無窮大= 一個(gè)正數(shù)除以0
負(fù)無窮大= 一個(gè)負(fù)數(shù)除以零
0.0 除以0.0 或者 對(duì)一個(gè)負(fù)數(shù)開方 得到一個(gè)非數(shù)
5. 在java中布爾類型只能是true和false
6. 在java中沒有多維數(shù)組
看似像C語言中的多維數(shù)組不是真正的數(shù)組,比如 a[3][4] , a[0] a[1] a[2] 是真實(shí)存在的,裝的是地址,和c語言中動(dòng)態(tài)分配為的數(shù)組一樣
int [][] b = new int[3][4]
7. Java中帶包的編譯方法
javac -d . Hello.java 會(huì)在當(dāng)前目錄下生成目錄樹,運(yùn)行 java 包名字.類名字
8. Java多態(tài)中的對(duì)象的filed 不具有多態(tài)性,如 父類 對(duì)象 = new 子類(), 對(duì)象.field 是調(diào)用的父類的,即使子類中覆蓋了該字段。
9. instanceof 運(yùn)算符
格式: 引用變量名 instanceof 類名(或者接口) 他用于判斷前面的對(duì)象是否是后面對(duì)象的類,子類、實(shí)現(xiàn)類的實(shí)例,是返回true,否者返回false。
10. Java 中基本數(shù)據(jù)類型和對(duì)應(yīng)封裝類之間的轉(zhuǎn)化
int a = 1;
Integer A = new Integer(a);
a = A.intValue();
其他的類型也是這樣的。
11.抽象類和接口有什么區(qū)別?
1)abstract class 在 Java 語言中表示的是一種繼承關(guān)系,一個(gè)類只能使用一次繼承關(guān)系。
但是,一個(gè)類卻可以實(shí)現(xiàn)多個(gè)interface。
2)在abstract class 中可以有自己的數(shù)據(jù)成員,也可以有非abstarct的成員方法,而在interface中,只能夠有靜態(tài)的不能被修改的數(shù)據(jù)成員(也就是必須是static final的,不過在 interface中一般不定義數(shù)據(jù)成員),所有的成員方法都是abstract的。
3)abstract class和interface所反映出的設(shè)計(jì)理念不同。
其實(shí)abstract class表示的是"is-a"關(guān)系,interface表示的是"like-a"關(guān)系。
4)實(shí)現(xiàn)抽象類和接口的類必須實(shí)現(xiàn)其中的所有方法。
抽象類中可以有非抽象方法。
接口中則不能有實(shí)現(xiàn)方法。
5)接口中定義的變量默認(rèn)是public static final 型,且必須給其初值,所以實(shí)現(xiàn)類中不能重新定義,也不能改變其值。
6)抽象類中的變量默認(rèn)是 friendly 型,其值可以在子類中重新定義,也可以重新賦值。
7)接口中的方法默認(rèn)都是 public,abstract 類型的。
12.final修飾的成員變量初始化問題
類Field: 必須在靜態(tài)初始?jí)K中或聲明該FIeld時(shí)指定初始值。
實(shí)例Field:必須在非靜態(tài)初始?jí)K中或聲明該FIeld時(shí)指定初始值或構(gòu)造器中聲明。
13.Final 變量必須顯式初始化,系統(tǒng)不會(huì)對(duì)final變量進(jìn)行隱式初始化
14.java會(huì)使用常量池來管理曾經(jīng)用過的字符串直接常量,例如:String a = "java"; ,系統(tǒng)把常量字符串“java”存在常量池,當(dāng)再次執(zhí)行 String b = "java"; a == b 是true
15.final 方法不可以重寫,final類不能被繼承
如果用private 方法 和 final private 是一樣的。
若果是用final修飾的方法在子類中出現(xiàn),那是子類新定義的,與父類沒有關(guān)系。
16.不可變類:創(chuàng)建后該類的Field是不可改變的。
java提供了8個(gè)基本變量的包裝類和string都是不可改變類。
17.線程的四種狀態(tài)
1)新狀態(tài):線程已被創(chuàng)建但尚未執(zhí)行(start() 尚未被調(diào)用)。
2)可執(zhí)行狀態(tài):線程可以執(zhí)行,雖然不一定正在執(zhí)行。
CPU 時(shí)間隨時(shí)可能被分配給該線程,從而使得它執(zhí)行。
3)死亡狀態(tài):正常情況下 run() 返回使得線程死亡。
調(diào)用 stop()或 destroy() 亦有同樣效果,但是不被推薦,前者會(huì)產(chǎn)生異常,后者是強(qiáng)制終止,不會(huì)釋放鎖。
4)阻塞狀態(tài):線程不會(huì)被分配 CPU 時(shí)間,無法執(zhí)行。
18. static 和 abstract 不能同時(shí)修飾一個(gè)方法,沒有類抽象方法
19.一個(gè)類可以又一個(gè)父類,實(shí)現(xiàn)多個(gè)接口,接口中Filed是public 、static、final的,方法是public abstract的
20.非靜態(tài)內(nèi)部類的方法訪問某個(gè)變量,搜索順序?yàn)椋合葍?nèi)部類中方法內(nèi)-> 內(nèi)部類 -> 外部類中如果都找不到則出現(xiàn)編譯錯(cuò)誤
21.非靜態(tài)內(nèi)部類不能有靜態(tài)方法、靜態(tài)Field、靜態(tài)初始化塊
22.在外部類之外訪問內(nèi)部類
訪問非靜態(tài)內(nèi)部類:outclass.Inclass varname = new outclass().new InClass();
訪問靜態(tài)內(nèi)部類: outclass.Inclass varname = new outclass.Inclass();
【java知識(shí)點(diǎn)總結(jié)】相關(guān)文章:
java課程總結(jié)心得 java實(shí)驗(yàn)總結(jié)與心得10-29
java課程總結(jié)范文11-10
java專業(yè)實(shí)訓(xùn)總結(jié)11-17
java項(xiàng)目個(gè)人總結(jié)模板04-04