面向物件的概念
阿新 • • 發佈:2019-02-04
面向物件
面向過程和麵向物件的區別
面向過程就是分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用的時候一個一個依次呼叫就可以了。
面向物件是把構成問題事務分解成各個物件,建立物件的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為
成員變數和區域性變數
1)成員變數可以使java語言中任何一種資料型別(包含基本資料型別和引用型別
2) 在定義成員變數時可以對其初始化,不初始化也有預設值
3)成員變數的作用範圍為整個類體(預設值如下)
物件的建立和使用
1.必須使用new 關鍵字建立物件
2.使用物件(引用).成員變數或來引用物件的成員變數
3.使用物件(引用).方法(引數列表)來呼叫物件的方法
4.同一類的每個物件有不同的成員變數儲存空間
5.同一類的每個物件共享該類的方法
構造方法
1.構造方法與類同名沒有返回值
2.使用new +構造方法 建立一個新的物件
命名規則
1.類名的首字母大寫
2.變數名和方法名的首字母小寫
3.運用駝峰標識
方法的過載
1.方法的過載是指一個類名可以定義有相同的名字,但引數不同的多個方法。呼叫時,會根據
不同的引數表選擇對應的方法
this關鍵字
1.在類的方法定義中使用this關鍵字代表使用該方法的物件的引用
2.在必須指出當前使用方法的物件是誰時要用this
3.有時使用this可以處理方法中成員變數和引數重名的情況
4.this可以看作是一個變數,它的值是當前物件的引用
static關鍵字
1.在類中,用static宣告的成員變數為靜態成員變數,它為該類的公用變數,在第一次使用時被初始化,對於該類的物件來說,static關鍵字只有一份
2.用static宣告的方法為靜態方法,在呼叫該方法時,不會將物件的引用傳遞給它所以在static方法中不可訪問非static的成員
3.可以通過物件引用或類名(不需要例項化)訪問靜態成員
package和import
為便於管理大型軟體系統中數目眾多的類,解決類的命名衝突問題Java引入包機制,提供類的多重類名稱空間
類的繼承
1.java中使用extends關鍵字實現類的繼承機制,其語法規則為
class name extends superClass{
}
2.通過繼承,子類自動擁有了基類superclass的所有成員(成員變數和方法)
3.java只支援單繼承,不允許多繼承:
一個子類只能有一個基類,一個基類可以派生出多個子類
訪問修飾符
java中包含四種訪問修飾符:private,default,protected,public
方法的重寫
1.在子類中可以根據需要對從基類中繼承來的方法進行重寫
2.重寫方法必須和被重寫方法具有相同方法名稱,引數列表和返回型別
3.重寫方法補鞥使用比被重寫方法更嚴格的訪問許可權
super關鍵字
在java中使用super關鍵字來引用基類的成分
繼承中的構造方法
1.子類的構造的過程中必須呼叫其基類的構造方法
2.子類可以在自己的構造方法中使用super呼叫基類的構造方法(但是必須放在第一行)
3.如果子類的構造方法中沒有顯示地呼叫基類構造方法,則系統預設呼叫基類無引數構造方法
4.如果子類構造方法中既沒有顯式呼叫基類構造方法,而基類中又沒有無參構造方法,則編譯出錯。
Object類
object類是所有java類的根基類
如果在類的宣告中未使用extends關鍵字指明其基類,則預設基類為object類
tostring方法
object類中定義有public string tostring()方法,其返回值是string型別描述當前物件的有關資訊
equals方法
object類中定義有
1.public boolean equals(Object obj )方法
2.object的equals方法定義為x.equals(y) 當x和y是同一個物件的應用時返回true否則返回false
3.j2sdk提供的一些類,如string,date 等,重寫了object的equals方法,呼叫這些類的equals方法