溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java一切都是對象怎么理解

發(fā)布時間:2022-01-05 17:53:53 來源:億速云 閱讀:156 作者:iii 欄目:編程語言

這篇文章主要介紹“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í)用的文章!

向AI問一下細(xì)節(jié)
AI