摘要:一切都是對象之前自己學習就是以系統的角度去學習,就是我們把這些知識點羅列出來,然后做一個全面的學習。按照面向對象的思想,一切都是對象,不管什么數據都應該是對象,但是對于一些基礎的數據類型為了運行效率和內存的優化,將個基本類型進行了特殊處理。
一切都是對象
之前自己學習Java就是以系統的角度去學習,就是我們把這些知識點羅列出來,然后做一個全面的學習。這樣的的確確可以將知識點都學習全面,但是自己理解上來說還是很淺層次的。如果一段時間沒有去使用Java我覺得自己還是會忘記,所以去理解為什么對于學習Java是很重要的。
上節我們從語言的角度去分析,語言就是描述人類的想法和同時讓計算機辨識的一種標識。根據這個語言是偏向我們人類好理解,還是計算機好理解可以分為,面向過程語言和面向對象的語言。Java就屬于面向對象的語言。
那么面向對象語言,我們主要去理解的就是這個對象,我們編寫程序就是去操作這個語言。
那么:
·Java是怎么去操作這個對象的呢? ·同時這個對象怎么生成的? ·我們又怎么去區分這么多對象呢? ·對象的存在應該有空間,那么對象存儲在哪呢? ·有開始就有結束,有生成就有銷毀,那么Java是怎么銷毀一個對象的呢? ·還有就是是不是真的就是一切都是對象,有沒有一些特例呢? ·最后面我們寫的程序應該就是很多個對象的組合和操作,他們之間是怎么運作的呢?我們這一節就是面對這些問題,我們對對象的理解就會更加深刻。Java怎么操作對象?
Java是用引用(reference)去操作對象,用字符串去解釋這個引用。
String s;
那么這個s就是引用,那么我們這樣是不是可以操作對象了。不行,因為我們還沒有創建對象,沒有對象給我們操作,直接運行是會報錯的。這也是我們編程中經常會遇到的空指針異常。
Java怎么創建對象?Java使用new關鍵字來創建對象。
String s1 = new String(“hello”); String s2 = “hello”;
String字符串比較特殊,可以直接使用””來創建對象。那么這些創建好的對象到底存儲在哪里呢?
Java怎么存儲對象?除此之外這些都是對象的數據的存儲位置等等一些知識,那么Java當中還有一些特殊的數據類型。按照面向對象的思想,一切都是對象,不管什么數據都應該是對象,但是Java對于一些基礎的數據類型為了運行效率和內存的優化,將8個基本類型進行了特殊處理。同時針對8個基本類型的存儲的大小的限制有了BigDecimal和BigInteger進行擴展。
我們知道Java是如何存儲數據之后我們如何去分辨這么多對象呢?
Java中使用Class這個關鍵字來創建新的對象類型,也就是通過Class 來分辨對象。更加具體的是類里面的內容--域和方法。
域就是我們通常所說的成員變量。這里面需要注意的是,如果我們初始化的話,Java程序一般會給一些默認值8個基本類型一般給一個0,引用類型給一個null。所以我們需要初始化這些成員變量。但是這種給與默認值的情況不適合方法里面的局部變量。
方法在以前經常認為是函數,但是本書有一個說法更加能體現他作用,就是接受一個消息進行操作。
認識完這些之后我們是不是可以隨便的使用創建好的對象呢?
Java跟C語言和C++語言都是通過花括號來限定變量名的可見性。
最后我們創建了實例我們需要控制他的銷毀。
Java通過GC垃圾處理機制銷毀實例,這部分不需要程序員去控制。
以上就是我們對對象的理解,那么是不是有需要將一些方法多帶帶拿出來,這個方法不屬于任何對象,這個時候我們處理?
使用static關鍵字,分static修飾的成員變量和成員方法。這些變量和成員方法可以每一個對象共享。
我們理解完對象之后,我們就需要將這些對象組合起來,運行成一個Java程序。
我們使用class創建一個新的類型,如果我們使用了相同的名字在不同的包下創建我們怎么知道他們之間的區別呢?這里就需要將類標注在那個包下。
同時我們使用其他的類型的時候我們怎么知道我們選擇的是哪個對象呢?所以需要使用import關鍵字來引用具體的類型。去識別。
項目名:全部小寫。
包名:全部小寫
類命名規范:使用帕斯卡命名法 即pascal命名法。做法是首字母大寫,如UserName,常用在類的變量命名中。
方法和屬性:使用匈牙利命名法。做法就是只是首字母為小寫,如userName。
常量名:全部大寫。
所有命名規則必須遵循以下規則:
名稱只能由字母、數字、下劃線、$符號組成
不能以數字開頭
名稱不能使用JAVA中的關鍵字。
堅決不允許出現中文及拼音命名。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/73639.html
摘要:一引用操縱對象在的世界里,一切都被視為對象。特點創建程序時,需要知道存儲在棧內所有數據的確切生命周期,以便上下移動堆棧指針。因為,指向同一塊內存空間除了通過對象引用靜態變量,我們還可以通過類直接引用靜態變量 一、引用操縱對象 在Java的世界里,一切都被視為對象。操縱的標識符實際上是對象的引用, 例如:遙控器與電視的關系。 可以在沒有對象關聯的情況下,擁有一個引用。沒有電視機,也可以擁...
摘要:方法的基本組成包括名稱參數返回值方法體方法名和參數列表唯一的標識出某個方法。如果返回的類型是,則的作用僅是退出方法否則必須返回正確的返回值包名名字可見性約定以域名反轉作為包名,用來劃分子目錄,并且全部小寫。 點擊進入我的博客 2.1用引用操縱對象 盡管一切都看作對象,但操縱的標識符實際上是對象的一個引用。 String s; // s是一個String類型的引用, 并沒有任何對象與其...
摘要:但是,中并沒有類的概念,而是通過構造函數替代了類的功能,為某一類的對象提供共同的屬性和方法。一只名叫的狗,首先繼承了構造函數的原型對象,而的原型對象中的有繼承了函數的原型對象,函數對象中的有繼承了的原型對象。 《圣經》里的第一章創世紀中其中有一段經典記載上帝是如何創造人的。神說:我們要照著我們的形象,按照我們的樣式造人。不謀而合的是,JavaScript中似乎也遵循著上帝的旨意去創造程...
摘要:好吧,事實上,類本身也是實例,當然,它們是元類的實例。中的一切都是對象,它們要么是類的實例,要么是元類的實例,除了。 寫在最前面 一些很重要的知識,我的寫得有點亂,也可以去看這些文章 Python 面向對象(初級篇) Python 面向對象(進階篇) 深刻理解Python中的元類(metaclass) 首先來看一個例子,正常情況下我們定義并且實例一個類如下 class Foo(ob...
閱讀 1587·2021-10-18 13:35
閱讀 2365·2021-10-09 09:44
閱讀 819·2021-10-08 10:05
閱讀 2719·2021-09-26 09:47
閱讀 3571·2021-09-22 15:22
閱讀 435·2019-08-29 12:24
閱讀 2002·2019-08-29 11:06
閱讀 2860·2019-08-26 12:23