1. 程式人生 > >成員變數和區域性變數的區別&&匿名物件

成員變數和區域性變數的區別&&匿名物件

/*
成員變數與區域性變數的區別:
	1.位置的區別:
		成員變數是定義在方法之外,類之內的變數。
		區域性變數是定義在方法之內的變數。
	
	2.作用上的區別:
		成員變數的作用是用於描述一個事物的屬性.
		區域性變數的作用就是用於提供一個變數給方法內部去使用而已。
	
	3. 生命週期的區別:
		  成員變數的生命週期是隨著物件的建立而建立,隨著物件的消失而消失。
		  
		  區域性變數呼叫到對應的方法時執行到了建立該區域性變數語句的時候存在,區域性變數
		   一旦出了自己的作用域會馬上消失。

	4. 初始值的區別: 
			
			成員變數有預設的初始值。 具體的初始值要看變數的資料型別
				int			 0
				double		0.0
				float		0.0f
				char		' '
				boolean		false
				String		null
			
			區域性變數是沒有預設的初始值的,要先初始化才能使用。




*/

//人類
class Person{
		
	 String name; //成員變數


	//人吃飯的行為   
	public void eat(){
		int num;
		
		num = 10;
		System.out.println(num);	
	}
}

匿名物件

/*
匿名物件:沒有引用型別變數指向的物件稱作為匿名物件。

匿名物件的好處: 簡化書寫。 

匿名物件要注意的細節:
	1. 兩個匿名物件不可能是同一個物件。
	2. 一般不會給匿名物件賦予屬性值,因為無法獲取到。

匿名物件的應用場景: 
	1. 如果需要呼叫一個物件的方法一次的時候,然後改物件就不再使用了,可以使用匿名物件。
	2. 作為實參傳遞資料。

需求:呼叫student的study方法.。 

*/

class Student{

	//事物公共的屬性使用成員變數描述
	
	String name;   // 姓名屬性

	int age; //年齡


	//事物的公共行為使用函式描述
	public void  study(){
		System.out.println("good good study , day day up");
	}
}

class dx2
{
	public static void main(String[] args) 
	{
		/*Student p = new Student();
		p.name = "旺財";
		p.age = 6;
		System.out.println("名字是"+p.name+"年齡是"+p.age);
		Student s = new Student();
		s.study();*/
		new Student().study();
	}
}