java入門 學習日誌三 (面向對象1)

面向對象的特性 :(1) 封裝性 、(2) 繼承性 、(3) 多態性

類與對象

類實際上是表示一個客觀世界中某類羣體的一些基本特徵抽象 ,屬於抽象的概念集合 。例如 :汽車 、輪船 、書 。類實際上是對象操作的模版 ,但是類不能直接使用 ,必須通過實例對象來使用 。類由屬性和方法組成 。
對象表示一個個具體的事物 。例如 :張三同學 、李四的汽車 、王五的賬戶 ,這些都是可以使用的事物 ,就可以理解爲對象 ,對象表示的是一個個獨立的個體 。
例如人的性別 、姓名 就被稱爲屬性 。喫飯、睡覺被稱爲方法 。

class Book{  //定義一個新的類
	String title ; //書的名字
	double price ; //書的價格
	public void getInfo(){ //此方法由對象調用
	System.out.println("圖書的名稱:"+title+",圖書的價格:"+price);
	} 
}

上述代碼定義了一個Book類 ,而方法getInfo()沒有加static 。和之前的代碼不同 ,可以先這樣理解 :由對象調用的方法不用加static ,如果不是由對象調用的方法 ,必須加上static 。

聲明並實例化對象

格式 :聲明並實例化對象
類名稱 對象名稱 =new 類名稱() ;

格式 :分步完成
聲明對象 : 類名稱 對象名稱 =null ;
實例化對象 :對象名稱 =new  類名稱() ;

操作對象 
對象 . 屬性 ;
對象 . 方法 () ;


class Book{
	String title ;
	double price ;
	public void getInfo(){
		System.out.println("圖書的名稱:"+title+",圖書的價格:"+price);
	}
}
public class TestDemo{
	public static void main(String args[]){
	Book bk =new Book(); //聲明並實例化對象
	bk.title ="java開發大全"//操作屬性內容
	bk.price =89.9 ;//操作屬性內容
	bk.getInfo();//調用類中的方法
	}
}
程序執行結果 :圖書的名稱 :java開發大全 ,圖書的價格 :89.9

堆內存 :只能依靠new來開闢 ,保存對象的真正數據 ,都是每一個對象的屬性內容 。
棧內存 :保存一塊堆內存的地址 。

引用傳遞

class Book{
	String title ;
	double price ;
	public void getInfo(){
		System.out.println("圖書的名稱:"+title+",圖書的價格:"+price);
	}
}
public class TestDemo{
	public static void main(String args[]){
	Book bkA =new Book(); //聲明並實例化對象
	bkA.title ="java開發大全"//操作屬性內容
	bkA.price =89.9 ;//操作屬性內容
	Book bkB =null ;
	bkB = bkA ;
	bkB.title ="jsp開發";
	bkA.getInfo();//調用類中的方法
	}
}
程序執行結果 :圖書的名稱 :jsp開發大全 ,圖書的價格 :89.9

可以理解爲bk儲存的是一塊棧內存 ,棧內存用來指向一塊堆內存 ,堆內存中存儲着對象的屬性 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章