anything is Object(萬物皆對象)
抽象,從對具體的對象中抽取有用資訊。
對象有其固有屬性,對象的方法,即對象的行為(對象能做什麼)
對象本身是簡單的(功能簡單),多個對象可以組成複雜的系統(對象之間彼此調用對方的方法)
對象應當是各司其職(功能簡單),各盡所能(把自己的功能作到最好)。(弱耦合性實現了前面所述的對象的特點)
對象的耦合性,是對象之間的聯絡,對象和系統之間的聯絡。對象的耦合性要盡量的弱,也就是對象之間的聯絡儘可能的弱,對象和系統之間的聯絡儘可能的弱。
系統的可插入性,是在系統中加入新的對象之後的系統穩定性。
對象的可替換性,是在系統中替換原有的對象之後的系統的穩定性。
複用性,即對象可否被重複使用,對象的功能越簡單,複用性就越好。(對象的耦合性弱,複用性就比較強)
面向過程是先有演算法,後又資料結構(怎麼解決問題)
物件導向是先有對象(資料結構),後有演算法。(用什麼做)
類是某些有著相同屬性的集合的抽象。
類是一個類對象的模板,對象是類的具體化。
類是一個新的資料類型,類的對象。
注意:局部變數的作用範圍是在定義他的代碼塊以內,局部變數要先賦值後使用,在以一個重合的作用於範圍內不允許兩個局部變數命名衝突。局部變數局部優先,且在於執行個體變數同名時會副該局部變數。
變數 包括簡單變數(未經處理資料類型),物件變數。
方法的定義:
1,方法的修飾符(多個修飾符出現的順序無關) |
2,方法的傳回值類型 |順
3,方法名 |序
4,方法的參數表 |向
5,方法中允許拋出的異常 |下
java中不能夠在返回語句後寫任何代碼。JVM+解譯器=JRE,JRE+類庫=JDK
java中方法的重載(overload)方法名相同,參數表不同,傳回值類型可以不同。調用時要給出明確參數並確定調用某一方法。在編譯時間,編譯器會根據參數選擇適當的方法,所以重載也叫編譯時間多態。
就近向上匹配原則
如果方法的參數表中的資料類型和調用時給出的參數類型不盡相同時會根據向上匹配的就近原則。(類型就近向上轉化匹配)
注意:調用時要給出明確參數並確定調用某一方法,否則編譯會出錯。
對象使用者(調用其他對象的方法)對象(對象中的方法被調用時根據參數進行自己進行選擇)
一類方法,但跟據不同的參數會有差異,對象回根據參數判斷,對對象調用者透明。
建立對象的過程:1,分配空間 2,初始化屬性 3,調用構造方法(有前提,不考慮繼承關係)
構造方法的寫法:沒有傳回值類型,構造方法的方法命名必須和類名相同。如果在類中不寫構造方法,系統會提供一個無參的構造方法。
注意:最好在寫類時提供一個無參的構造方法。
獲得對象的方式
通過new(在堆空間中申請分配空間),new 類名(),可以通過這種形式或的一個對象。例如 :Car c=new Car();
有參的構造方法在被調用時,在用new關鍵字或的對象時初始化,例如:Car c=new Car("yellow")
物件變數中存放的是對象的引用(地址的封裝形式)
this關鍵字
表示當前對象(哪個對象調用了方法,哪個對象就是當前對象),可以用來區分執行個體變數和局部變數。this(),他表示掉用本類其他的構造方法,注,只能寫在構造方法的第一行。
java中的參數傳遞,簡單類型的變數傳遞的是數值,物件變數的傳遞則傳遞的一個引用(地址)