day07-----------面向對象(傳智視頻)

/*
	成員變量和局部變量的區別?
		A:在類中的位置不一樣
			成員變量:在類中方法外
			局部變量:在方法定義中或者方法聲明上
		B:在內存中的位置不一樣
			成員變量:在堆內存
			局部變量:在棧內存
		C:生命週期不一樣
			成員變量:隨着對象的建立而存在,隨着對象的消失而消失
			局部變量:隨着方法的調用而存在,隨着方法的調用完畢而消失
		D:初始化值不一樣
			成員變量:有默認初始化值
			局部變量:沒有默認初始化值,必須定義,賦值,而後才能使用。
			
		注意事項:
			局部變量名稱能夠和成員變量名稱同樣,在方法中使用的時候,採用的是就近原則。
*/

/*
	匿名對象:就是沒有名字的對象。
	
	匿名對象的應用場景:
		A:調用方法,僅僅只調用一次的時候。
			注意:調用屢次的時候,不適合。
			那麼,這種匿名調用有什麼好處嗎?
				有,匿名對象調用完畢就是垃圾。能夠被垃圾回收器回收。
		B:匿名對象能夠做爲實際參數傳遞
*/

private:私有的。能夠修飾成員變量和成員方法。
	注意:被private修飾的成員只能在本類中訪問。
	
this:是當前類的對象引用。簡單的記,它就表明當前類的一個對象。
	注意:誰調用這個方法,在該方法內部的this就表明誰。
		
	this的場景:
		解決局部變量隱藏成員變量

/*
	咱們一直在使用構造方法,可是,咱們確沒有定義構造方法,用的是哪裏來的呢?
	
	構造方法的注意事項:
		A:若是咱們沒有給出構造方法,系統將自動提供一個無參構造方法。
		B:若是咱們給出了構造方法,系統將再也不提供默認的無參構造方法。
		注意:這個時候,若是咱們還想使用無參構造方法,就必須本身給出。建議永遠本身給出無參構造方法
		
	給成員變量賦值有兩種方式:
		A:setXxx()
		B:構造方法
*/

/*
	static關鍵字注意事項
		A:在靜態方法中是沒有this關鍵字的
			如何理解呢?
				靜態是隨着類的加載而加載,this是隨着對象的建立而存在。
				靜態比對象先存在。
		B:靜態方法只能訪問靜態的成員變量和靜態的成員方法
				靜態方法:
					成員變量:只能訪問靜態變量
					成員方法:只能訪問靜態成員方法
				非靜態方法:
					成員變量:能夠是靜態的,也能夠是非靜態的
					成員方法:但是是靜態的成員方法,也能夠是非靜態的成員方法。
			簡單記:
				靜態只能訪問靜態。
*/
/*
    main方法的格式講解:
	public static void main(String[] args) {...}
		
	public:公共的,訪問權限是最大的。因爲main方法是被jvm調用,因此權限要夠大。
	static:靜態的,不須要建立對象,經過類名就能夠。方便jvm的調用。
	void:由於咱們曾經說過,方法的返回值是返回給調用者,而main方法是被jvm調用。你返回內容給jvm沒有意義。
		main:是一個常見的方法入口。我見過的語言都是以main做爲入口。
		String[] args:這是一個字符串數組。值去哪裏了?
			這個東西到底有什麼用啊?怎麼給值啊?
				這個東西早期是爲了接收鍵盤錄入的數據的。
				格式是:
					java MainDemo hello world java
*/
相關文章
相關標籤/搜索