摘要:一切都是對(duì)象之前自己學(xué)習(xí)就是以系統(tǒng)的角度去學(xué)習(xí),就是我們把這些知識(shí)點(diǎn)羅列出來,然后做一個(gè)全面的學(xué)習(xí)。按照面向?qū)ο蟮乃枷?,一切都是?duì)象,不管什么數(shù)據(jù)都應(yīng)該是對(duì)象,但是對(duì)于一些基礎(chǔ)的數(shù)據(jù)類型為了運(yùn)行效率和內(nèi)存的優(yōu)化,將個(gè)基本類型進(jìn)行了特殊處理。
一切都是對(duì)象
之前自己學(xué)習(xí)Java就是以系統(tǒng)的角度去學(xué)習(xí),就是我們把這些知識(shí)點(diǎn)羅列出來,然后做一個(gè)全面的學(xué)習(xí)。這樣的的確確可以將知識(shí)點(diǎn)都學(xué)習(xí)全面,但是自己理解上來說還是很淺層次的。如果一段時(shí)間沒有去使用Java我覺得自己還是會(huì)忘記,所以去理解為什么對(duì)于學(xué)習(xí)Java是很重要的。
上節(jié)我們從語言的角度去分析,語言就是描述人類的想法和同時(shí)讓計(jì)算機(jī)辨識(shí)的一種標(biāo)識(shí)。根據(jù)這個(gè)語言是偏向我們?nèi)祟惡美斫猓€是計(jì)算機(jī)好理解可以分為,面向過程語言和面向?qū)ο蟮恼Z言。Java就屬于面向?qū)ο蟮恼Z言。
那么面向?qū)ο笳Z言,我們主要去理解的就是這個(gè)對(duì)象,我們編寫程序就是去操作這個(gè)語言。
那么:
·Java是怎么去操作這個(gè)對(duì)象的呢? ·同時(shí)這個(gè)對(duì)象怎么生成的? ·我們又怎么去區(qū)分這么多對(duì)象呢? ·對(duì)象的存在應(yīng)該有空間,那么對(duì)象存儲(chǔ)在哪呢? ·有開始就有結(jié)束,有生成就有銷毀,那么Java是怎么銷毀一個(gè)對(duì)象的呢? ·還有就是是不是真的就是一切都是對(duì)象,有沒有一些特例呢? ·最后面我們寫的程序應(yīng)該就是很多個(gè)對(duì)象的組合和操作,他們之間是怎么運(yùn)作的呢?我們這一節(jié)就是面對(duì)這些問題,我們對(duì)對(duì)象的理解就會(huì)更加深刻。Java怎么操作對(duì)象?
Java是用引用(reference)去操作對(duì)象,用字符串去解釋這個(gè)引用。
String s;
那么這個(gè)s就是引用,那么我們這樣是不是可以操作對(duì)象了。不行,因?yàn)槲覀冞€沒有創(chuàng)建對(duì)象,沒有對(duì)象給我們操作,直接運(yùn)行是會(huì)報(bào)錯(cuò)的。這也是我們編程中經(jīng)常會(huì)遇到的空指針異常。
Java怎么創(chuàng)建對(duì)象?Java使用new關(guān)鍵字來創(chuàng)建對(duì)象。
String s1 = new String(“hello”); String s2 = “hello”;
String字符串比較特殊,可以直接使用””來創(chuàng)建對(duì)象。那么這些創(chuàng)建好的對(duì)象到底存儲(chǔ)在哪里呢?
Java怎么存儲(chǔ)對(duì)象?除此之外這些都是對(duì)象的數(shù)據(jù)的存儲(chǔ)位置等等一些知識(shí),那么Java當(dāng)中還有一些特殊的數(shù)據(jù)類型。按照面向?qū)ο蟮乃枷?,一切都是?duì)象,不管什么數(shù)據(jù)都應(yīng)該是對(duì)象,但是Java對(duì)于一些基礎(chǔ)的數(shù)據(jù)類型為了運(yùn)行效率和內(nèi)存的優(yōu)化,將8個(gè)基本類型進(jìn)行了特殊處理。同時(shí)針對(duì)8個(gè)基本類型的存儲(chǔ)的大小的限制有了BigDecimal和BigInteger進(jìn)行擴(kuò)展。
我們知道Java是如何存儲(chǔ)數(shù)據(jù)之后我們?nèi)绾稳シ直孢@么多對(duì)象呢?
Java中使用Class這個(gè)關(guān)鍵字來創(chuàng)建新的對(duì)象類型,也就是通過Class 來分辨對(duì)象。更加具體的是類里面的內(nèi)容--域和方法。
域就是我們通常所說的成員變量。這里面需要注意的是,如果我們初始化的話,Java程序一般會(huì)給一些默認(rèn)值8個(gè)基本類型一般給一個(gè)0,引用類型給一個(gè)null。所以我們需要初始化這些成員變量。但是這種給與默認(rèn)值的情況不適合方法里面的局部變量。
方法在以前經(jīng)常認(rèn)為是函數(shù),但是本書有一個(gè)說法更加能體現(xiàn)他作用,就是接受一個(gè)消息進(jìn)行操作。
認(rèn)識(shí)完這些之后我們是不是可以隨便的使用創(chuàng)建好的對(duì)象呢?
Java跟C語言和C++語言都是通過花括號(hào)來限定變量名的可見性。
最后我們創(chuàng)建了實(shí)例我們需要控制他的銷毀。
Java通過GC垃圾處理機(jī)制銷毀實(shí)例,這部分不需要程序員去控制。
以上就是我們對(duì)對(duì)象的理解,那么是不是有需要將一些方法多帶帶拿出來,這個(gè)方法不屬于任何對(duì)象,這個(gè)時(shí)候我們處理?
使用static關(guān)鍵字,分static修飾的成員變量和成員方法。這些變量和成員方法可以每一個(gè)對(duì)象共享。
我們理解完對(duì)象之后,我們就需要將這些對(duì)象組合起來,運(yùn)行成一個(gè)Java程序。
我們使用class創(chuàng)建一個(gè)新的類型,如果我們使用了相同的名字在不同的包下創(chuàng)建我們?cè)趺粗浪麄冎g的區(qū)別呢?這里就需要將類標(biāo)注在那個(gè)包下。
同時(shí)我們使用其他的類型的時(shí)候我們?cè)趺粗牢覀冞x擇的是哪個(gè)對(duì)象呢?所以需要使用import關(guān)鍵字來引用具體的類型。去識(shí)別。
項(xiàng)目名:全部小寫。
包名:全部小寫
類命名規(guī)范:使用帕斯卡命名法 即pascal命名法。做法是首字母大寫,如UserName,常用在類的變量命名中。
方法和屬性:使用匈牙利命名法。做法就是只是首字母為小寫,如userName。
常量名:全部大寫。
所有命名規(guī)則必須遵循以下規(guī)則:
名稱只能由字母、數(shù)字、下劃線、$符號(hào)組成
不能以數(shù)字開頭
名稱不能使用JAVA中的關(guān)鍵字。
堅(jiān)決不允許出現(xiàn)中文及拼音命名。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/73639.html
摘要:一引用操縱對(duì)象在的世界里,一切都被視為對(duì)象。特點(diǎn)創(chuàng)建程序時(shí),需要知道存儲(chǔ)在棧內(nèi)所有數(shù)據(jù)的確切生命周期,以便上下移動(dòng)堆棧指針。因?yàn)椋赶蛲粔K內(nèi)存空間除了通過對(duì)象引用靜態(tài)變量,我們還可以通過類直接引用靜態(tài)變量 一、引用操縱對(duì)象 在Java的世界里,一切都被視為對(duì)象。操縱的標(biāo)識(shí)符實(shí)際上是對(duì)象的引用, 例如:遙控器與電視的關(guān)系。 可以在沒有對(duì)象關(guān)聯(lián)的情況下,擁有一個(gè)引用。沒有電視機(jī),也可以擁...
摘要:應(yīng)該一樣啊騷年,不要把你判斷值類型的方法套在我們偉大的對(duì)象上。還記得上面說的,對(duì)象是由構(gòu)造器函數(shù)創(chuàng)建的嗎所以說有構(gòu)造器的類型,都是對(duì)象。其他的類型都有構(gòu)造器,所以再次聲明一切都是對(duì)象是很有道理的。 對(duì)象 在大多數(shù)人的眼里,js是一門面向?qū)ο?Object-Oriented)的語言,但是它與其他的語言比如c++,java 這些面向?qū)ο笳Z言 略有不同。!!!艸,說人話那問幾個(gè)問題吧: 1....
摘要:方法的基本組成包括名稱參數(shù)返回值方法體方法名和參數(shù)列表唯一的標(biāo)識(shí)出某個(gè)方法。如果返回的類型是,則的作用僅是退出方法否則必須返回正確的返回值包名名字可見性約定以域名反轉(zhuǎn)作為包名,用來劃分子目錄,并且全部小寫。 點(diǎn)擊進(jìn)入我的博客 2.1用引用操縱對(duì)象 盡管一切都看作對(duì)象,但操縱的標(biāo)識(shí)符實(shí)際上是對(duì)象的一個(gè)引用。 String s; // s是一個(gè)String類型的引用, 并沒有任何對(duì)象與其...
摘要:但是,中并沒有類的概念,而是通過構(gòu)造函數(shù)替代了類的功能,為某一類的對(duì)象提供共同的屬性和方法。一只名叫的狗,首先繼承了構(gòu)造函數(shù)的原型對(duì)象,而的原型對(duì)象中的有繼承了函數(shù)的原型對(duì)象,函數(shù)對(duì)象中的有繼承了的原型對(duì)象。 《圣經(jīng)》里的第一章創(chuàng)世紀(jì)中其中有一段經(jīng)典記載上帝是如何創(chuàng)造人的。神說:我們要照著我們的形象,按照我們的樣式造人。不謀而合的是,JavaScript中似乎也遵循著上帝的旨意去創(chuàng)造程...
摘要:好吧,事實(shí)上,類本身也是實(shí)例,當(dāng)然,它們是元類的實(shí)例。中的一切都是對(duì)象,它們要么是類的實(shí)例,要么是元類的實(shí)例,除了。 寫在最前面 一些很重要的知識(shí),我的寫得有點(diǎn)亂,也可以去看這些文章 Python 面向?qū)ο螅ǔ跫?jí)篇) Python 面向?qū)ο螅ㄟM(jìn)階篇) 深刻理解Python中的元類(metaclass) 首先來看一個(gè)例子,正常情況下我們定義并且實(shí)例一個(gè)類如下 class Foo(ob...
閱讀 1583·2021-10-18 13:35
閱讀 2362·2021-10-09 09:44
閱讀 816·2021-10-08 10:05
閱讀 2718·2021-09-26 09:47
閱讀 3564·2021-09-22 15:22
閱讀 432·2019-08-29 12:24
閱讀 1999·2019-08-29 11:06
閱讀 2857·2019-08-26 12:23