Java語言不使用指針,而是引用
指針和引用區(qū)別1
指針和引用區(qū)別2只支持類之間的單繼承堤瘤,但支持接口之間的多繼承咳焚,并支持類與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字為implements)。Java語言全面支持動態(tài)綁定蛉幸,而C++語言只對虛函數(shù)使用動態(tài)綁定。
源文件聲明規(guī)則
當(dāng)在一個源文件中定義多個類丛晦,并且還有import語句和package語句時奕纫,要特別注意這些規(guī)則:
(1)一個源文件中只能有一個public類
(2)一個源文件可以有多個非public類
(3)源文件的名稱應(yīng)該和public類的類名保持一致。例如:源文件中public類的類名是Employee烫沙,那么源文件應(yīng)該命名為Employee.java匹层。
(4)如果一個類定義在某個包中,那么package語句應(yīng)該在源文件的首行锌蓄。
(5)如果源文件包含import語句升筏,那么應(yīng)該放在package語句和類定義之間。如果沒有package語句瘸爽,那么import語句應(yīng)該在源文件中最前面您访。
(6)import語句和package語句對源文件中定義的所有類都有效。在同一源文件中剪决,不能給不同的類不同的包聲明洋只。
類有若干種訪問級別,并且類也分不同的類型:抽象類和final類等昼捍。
除了上面提到的幾種類型识虚,Java還有一些特殊的類,如:內(nèi)部類妒茬、匿名類担锤。
類變量
(1)與實(shí)例變量具有相似的可見性。但為了對類的使用者可見乍钻,大多數(shù)靜態(tài)變量聲明為public類型肛循;
(2)默認(rèn)值和實(shí)例變量相似。數(shù)值型變量默認(rèn)值是0银择,布爾型默認(rèn)值是false多糠,引用類型默認(rèn)值是null。變量的值可以在聲明的時候指定浩考,也可以在構(gòu)造方法中指定夹孔。此外,靜態(tài)變量還可以在靜態(tài)語句塊中初始化;
(3)靜態(tài)變量可以通過:ClassName.VariableName的方式訪問搭伤。
實(shí)例變量
(1)實(shí)例變量可以聲明在使用前或者使用后只怎;
(2)實(shí)例變量具有默認(rèn)值。數(shù)值型變量的默認(rèn)值是0怜俐,布爾型變量的默認(rèn)值是false身堡,引用類型變量的默認(rèn)值是null。變量的值可以在聲明時指定拍鲤,也可以在構(gòu)造方法中指定贴谎;
(3)實(shí)例變量可以直接通過變量名訪問。但在靜態(tài)方法以及其他類中季稳,就應(yīng)該使用完全限定名:ObejectReference.VariableName擅这。
局部變量
(1)局部變量是在棧上分配的;
(2)局部變量沒有默認(rèn)值绞幌,所以被聲明后,必須初始化一忱,才可使用莲蜘。