1. 程式人生 > 其它 >類的使用和物件的建立,變數的條用,函式的構造

類的使用和物件的建立,變數的條用,函式的構造

技術標籤:java程式設計自學程式碼規範java

定義類,函式使用,變數呼叫

在使用java程式語言編寫程式碼的時候,函式的定義至關重要。
到目前為止,靈活的使用函式,建立物件,定義變數這項程式設計基本功,對於大部分程式設計師來說可是走一步忘一步,看似簡單,實則對程式語言的理解不夠深入。
當然,如果得心應手的的話,對後期的程式設計效率的提升是肉眼可見的。
例如:對於一個人投幣的投籃機器 ,當我們建立一個“類(shootingmachine)”,繼承這個類的有四個屬性,和後續的所進行的動作,我們需要定義成員變數,成員變數:定義在函式外部的變數是成員變數。為什麼說外部呢,因為在定義“類”的時候,它是可以被外界訪問的,所以能從程式碼中看到class前面有一個public(公有類)

編寫如下程式碼:

public class shootingmachine {
	// shooting machine 人投幣後的就可以投籃機器
	int Hcoin;                           //需要多少硬幣
	int amount;                          //放入多少錢
	int total;                           //總收入金額後的餘額        
	int balance;                         //當前的金額
	void showPrompt()                    //提示資訊,是否開始,請投幣
{ System.out.println("start?"); } void showBalance() //顯示餘額 { System.out.println("目前金額為:"+balance); } void insertMoney(int amount) //投入了多少錢 { balance = balance + amount; this.showBalance(); } void playShoot() //開始投籃
{ if(balance>=Hcoin) //如果投入的錢大於所需的硬幣 { System.out.println("Play with go."); balance = balance - Hcoin; total = total + Hcoin; System.out.println("目前還剩餘額為:"+total); } }

有了“類”,還需要物件的建立

建立類的物件,new這個關鍵字可是或不缺少的;
後續變數的呼叫,通過建立物件變數來管理這些函式,也稱為本地變數;
本地變數的生存期和作用域都是函式內部,也就是在如下程式碼中的本地函式中;

public static void main(String[] args) {
		// TODO Auto-generated method stub
		//有了類了,還需要怎樣,我要把物件進行建立
		shootingmachine s = new shootingmachine();         //建立物件變數
		s.showPrompt();
	    s.showBalance();
		s.insertMoney(100);                                //投入金額數
		s.playShoot();
		s.showBalance();

建構函式,過載函式以及this關鍵字的使用細節

建構函式和過載函式的出現,我想了解過C++的朋友,對這兩個函式的的定義和使用方法大概不會陌生的;
他們的使用方法同樣在Java中也同樣適用,但可不要忘了這兩者的使用細節;
1.建構函式是一種特殊的函式。其主要功能是用來在建立物件時初始化物件, 即為物件成員變數賦初始值,總與new運算子一起使用在建立物件的語句中。建構函式與類名相同,可過載多個不同的建構函式。在JAVA語言中,建構函式與C++語言中的建構函式相同,JAVA語言中普遍稱之為構造方法。
2.過載函式是函式的一種特殊情況,為方便使用,Java允許在同一範圍中宣告幾個功能類似的同名函式,但是這些同名函式的形式引數(指引數的個數、型別或者順序)必須不同,也就是說用同一個函式完成不同的功能。這就是過載函式。過載函式常用來實現功能類似而所處理的資料型別不同的問題。不能只有函式返回值型別不同。
如下程式碼:

shootingmachine()                    //建構函式
	{
		this.balance = 0;
	}
	shootingmachine(int Hcoin)           //過載函式
	{
		this.Hcoin = Hcoin;              //this關鍵字可以呼叫內部變數
	}

注意this關鍵字對內部函式變數的呼叫

對於this這個關鍵字
1.this代表當前物件的一個引用。所謂當前物件,指的是呼叫類中方法或屬性的那個物件。
2.this只能在方法內部使用,表示對“呼叫方法的那個物件”的引用。
3.this不能用於靜態方法。main方法也是靜態的,所以this也不能用於main方法。
例如在本程式中:通過點“.”運算子呼叫某個物件的函式,在成員函式內部直接呼叫自己(this)的其他函式,在一個類的內部中成員函式呼叫另一個成員函式需要用到this,之外的就不管了。

shootingmachine()                    //建構函式
	{
		this.balance = 0;
	}
	 void shootingmachine(int Hcoin)           //過載函式,括號裡的引數不能相同與建構函式
	{

		this.Hcoin = Hcoin;              //this關鍵字可以呼叫內部變數
	}
	void setHcoin(int number)               //設定所需硬幣數            
	{
		this.number= number;
		this.playShoot();
	}