對象和類
面向對象程序設計(OOP),類是創建對象的模板或藍圖,從類中構造一個對象,即創建了這個類的一個實例(instance)。
面向對象中,封裝(encapsulation)是把數據和行為結合在一個包中,并對對象的使用者隱藏數據的實現過程。
對象中的數據稱為對象的實例字段(instance field),操作數據的函數和過程稱為對象的方法(method)。實現封裝的
關鍵在于決不讓方法直接訪問其他類的實例字段。程序應該只能通過對象的方法和對象的數據交互。OOP的另一個原則,
繼承性(inheritance),使得很容易在java中編寫自己的類.
對象
要使用OOP,需要了解對象的三個主要特性,分別是
對象的行為(behavior) 對象能做什么,或者說,能對對象施加什么方法
對象的狀態(state) 對對象施加方法時,對象如何反應
對象的身份(identity) 對象如何與具有相同行為、狀態的其他對象相互區別
類之間的關系
依賴("use-a") 在A類中的方法操作了B類對象,那么A類依賴于B類
聚合("has-a") A類對象包含B類對象,還包含C類對象等等,聚合關系意味著類A的對象包含類B的對象
繼承("is-a") 繼承關系用來表示更特殊的和更一般的類之間的關系
對象和對象變量
要使用對象,使用構造器(constructor)來構造新的實例。構造器是一個專門的方法,構造器名稱和類名相同
因此Date類的構造器名為Date。要構造Date對象,只要在構造器前面加上new運算符就行了,如new Date()
這個表達式即構造了一個新的對象,通常我們需要把對象存儲在一個變量中 Date birthday = new Date();
birthday是一個對象變量,對象變量(birthday)指向新構造的對象(new Date)。對象變量并不包含對象,
它只是指向一個對象。在java中,任何對象變量的值都是指向存儲在別處的對象的一個引用。new 運算符的返回
值也是一個引用。