【Java學習筆記】第四天——類,構造方法與對象的創建,參數傳值,對象的組合

Q:java中參數傳值的機制?

A:方法中參數變量的值是調用者指定的值的拷貝

Q:怎樣理解將兩個類型相同的數據互相賦值的情況?

A:類型相同兩個數據,互相賦值就是使得他們的引用相同。類型相同的兩個對象/數據一旦引用相同,就有一樣的實體(變量)

Q:怎樣創建一個對象?

A:包括兩部分:

(1)聲明對象 :

         學生 哈拉澤空:

此時,哈拉澤空只是個空對象,裏面什麼也沒有。此時不要讓空對象去訪問變量或方法,,否則編譯通過,運行出現NullPointerException

(2)爲對象分配變量(創建對象):用new運算符和構造方法

         哈拉澤空 = new 學生();

此時,纔可以調用哈拉澤空這個對象,纔不會出現NullPointerExceprion

Q:什麼叫對象的引用和實體

A:對象本身中存放着引用,自己可以操作分配個自己的變量,調用類提供的方法。分配給對象的變量稱作對象的“實體”

這圖說明了,兩個類型相同的對象,如果二者的引用相同,那麼二者就具有完全相同的“實體”

 

Example:

用面向對象的思想編寫程序,求圓錐的體積

main方法


public class Example01 {

	public static void main(String[] args) {
		Circle c=new Circle();
		c.SetRadius(5.0);
		Circular cir=new Circular(10.0);
		cir.setbottom(c);
		System.out.println("底面的的半徑"+c.radius);
		System.out.println("圓錐的高"+cir.height);
		System.out.println("地面的面積"+c.CaculateS());
		System.out.println("圓錐的體積"+cir.getvolume());
		
		c.SetRadius(7.0);
		System.out.println("修改圓的半徑,底面半徑同樣發生變化");
		System.out.println(cir.getbottomRadius());
	}

}

圓錐類


public class Circular {
	double height;
	Circle c;
	Circular(double height) {
		this.height=height;
	}
	double getvolume() {
		if(c==null) 
			return -1;
		else
			return c.CaculateS()*height/3.0;
	}
	
	void setbottom(Circle c) {
		this.c=c;
	}
	double getbottomRadius() {
		return c.radius;
	}
	double getbottomS() {
		return c.CaculateS();
	}
}

圓類


public class Circle {
	double radius;
	void SetRadius(double radius) {
		this.radius=radius;
	}
	double CaculateS() {
		return 3.14*radius*radius;
	}
}

 

 

 

 

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