您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java一切都是對象怎么理解”,在日常操作中,相信很多人在Java一切都是對象怎么理解問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java一切都是對象怎么理解”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
1、用于操縱的對象標(biāo)識符實(shí)際上只是對象的一個引用(reference),引用指向?qū)ο?,與對象相關(guān)聯(lián)
2、如“String s;”這樣的定義,只創(chuàng)建了一個引用,并沒有關(guān)聯(lián)到具體對象,此時向s發(fā)送消息(即使用s來調(diào)用方法),將會返回運(yùn)行時錯誤
3、new關(guān)鍵字,為對象分配存儲空間,將對象存儲在“堆(heap)”里,用堆進(jìn)行存儲分配比用棧進(jìn)行存儲分配需要更多的時間
4、Java的對象存儲在堆里,對象的引用存儲在棧里,但基本類型是特例,基本類型的對象是存儲在棧里的
[@more@]
5、九種基本類型:boolean、char(16-bit)、byte(8-bit)、short(16-bit)、int(32-bit)、long(64-bit)、float(32-bit)、double(64-bit)、void,JAVA的基本類型的位數(shù)是不會變化的,它只與虛擬機(jī)有關(guān),與機(jī)器具體的參數(shù)無關(guān)
6、對應(yīng)九種包裝器類型:Boolean、Character、Byte、Short、Integer、Long、Float、Double、Void(即大寫了類型名首字母,就成為了包裝器類),還有其它類似的包裝器,但可能沒有對應(yīng)的基本類型,比如兩個用于高精度計(jì)算的類:BigInteger(支持任意精度的整數(shù))和BigDecimal(支持任意精度的浮點(diǎn)數(shù)),它們的運(yùn)算不能使用運(yùn)算符,只能調(diào)用方法,速度較慢,但可以實(shí)現(xiàn)高精度,按常理來考慮就可以想到,使用包裝器來進(jìn)行一些操作,必然會比直接使用基本類型慢,但是肯定也會有其它方面的好處,比如功能的擴(kuò)展。
7、九種基本類型對應(yīng)的的默認(rèn)值:false、null、(byte)0、(short)0、0、0L、0.0f、0.0d,void型不清楚,基本類型只有在作為某個類的屬性時才有初始值,其它情況編譯器是不管它的,沒有經(jīng)過初始化的變量可能是任意值,編譯將無法通過,會產(chǎn)生未初始化的錯誤(編譯時錯誤)。
8、Java中所有數(shù)值類型都有正負(fù)號,不存在無符號的數(shù)值類型,boolean型所占存儲空間的大小沒有明確指定,其值只能為true和false
9、定義基本類型:char c = 'x'; 或:Character C = new Character('x');
10、Java會確保數(shù)組被初始化且有越界檢查
11、創(chuàng)建一個數(shù)組對象時,實(shí)際是創(chuàng)建了一個引用數(shù)組,每個引用會自動被初始化為一個特定值null,null表示引用還沒有指向任何對象。在使用引用前必須為其指定一個對象,如果試圖使用一個還是null的引用,將會在運(yùn)行時報(bào)錯。(即item2中所說的情況,注意,不是報(bào)編譯錯誤,編譯是可以通過的)
12、創(chuàng)建基本類型數(shù)組時,編譯器會將數(shù)組所占的內(nèi)存全部置零(類型默認(rèn)值)。(即,基本類型數(shù)組置零,對象數(shù)組置null)
13、Java是一種自由格式(free-form)的語言,空格、制表符(tab)、換行(enter)都不會影響程序的執(zhí)行結(jié)果
14、基本類型變量的生命周期受限于作用域(scope),超出作用域就不可用了;對象在作用域之外仍然存在,定義時的引用雖然已經(jīng)不可用,但可在那之前傳遞或復(fù)制引用
15、類內(nèi)部的元素包括:數(shù)據(jù)成員(data member,有時也叫做域(field)),方法(method,有時也叫做成員函數(shù)(member function))
16、當(dāng)變量作為一個類的成員使用時,Java會確保給定其默認(rèn)值,但是如果變量不是類的成員變量,比如定義在某個方法內(nèi)的變量,是不會被自動初始化的
17、調(diào)用方法時,如果參數(shù)是對象,則傳遞的是對象的引用,如果參數(shù)是基本類型的,則傳入的是值
18、Java的包(package)使用反向域名來命名,包名一律小寫
19、static的方法或變量是歸屬于類(class)的,類的多個對象共享同一個static變量,static方法常被用來看護(hù)與其隸屬于同一類型的實(shí)例群(比如計(jì)算這個類已經(jīng)生成了多少個對象)
20、java.lang(是指一個類,不是指這個包)是默認(rèn)被import到每一個java文件中的,所以不需要手動import它
21、常用到的System.out是一個static的PrintStream對象
22、java文件名必須與其中一個public類名相同,且該類中必須包含一個public static void main()方法,這是程序執(zhí)行的起點(diǎn)
23、Java注釋文檔的javadoc命令都只能始于/**注釋,結(jié)束于*/;可以使用一些文檔標(biāo)簽,它們是一些以@字符開頭的命令,且@字符要置于注釋行的最前面(但在前導(dǎo)*之后);行內(nèi)文檔標(biāo)簽則可以出現(xiàn)在javadoc注釋中的任何地方,它們也是以@開頭的,但要括在{}內(nèi)
24、javadoc只能為public和protected成員進(jìn)行文檔注釋,private和package成員的注釋會被忽略掉
25、javadoc注釋中可以嵌入html標(biāo)簽,主要可用于對代碼進(jìn)行格式化
到此,關(guān)于“Java一切都是對象怎么理解”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。