Java函數的定義,調用及重載

函數的概念
1.什麼是函數 ?
函數就是定義在類中的具有特定功能的一段獨立小程序,並能被多次使用。
將重複性代碼封裝起來,避免代碼冗餘,在需要執行某段功能的時候調用這段封裝的代碼,解決重複的問題。可以稱一段具有獨立功能的代碼爲功能性代碼。
函數的定義格式

修飾符 返回值類型 函數名(參數類型 形式參數1,參數類型 形式參數2...){ 
       執行語句; 
       return 返回值; //return關鍵字是用於結束該功能。並將後面的具結果返回給調用者。 
                      //必須有return語句。 
} 

訪問修飾符:分爲public,protected,默認,private
函數類型:static靜態函數 Synchronized同步函數native本地函數 默認 成員函數
返回值類型:函數的計算結果(返回值)是什麼類型 這就是什麼類型(向下兼容)
函數名:對該功能的解釋說明,可以自定義
參數列表:參數類型1 參數名1, 參數類型2 參數名2,…
函數體:就是具體的代碼實現環節
return:僅僅表示結束當前函數(彈棧)
函數的返回值類型如果是void時,return語句可以省略不寫;void表示的是沒有返回值的情況。返回值一次只能返回一個值。
2、函數的調用方法

class Demo{
    public static void main(String[] args){
        //StackOverflowError
        int res1=pow(2,8);
        System.out.println(res1);
    }
    public static int pow(int x,int n){
        int res=1;
        for(int i=1;i<=n;i++){
            res=res*x;
        }
        return res;
    }
}

首先會加載main方法加載進棧內存中,並執行main方法中的代碼,分別給 x變量開闢空間並存放2,給n變量開闢空間存放。當程序執行到int res1=pow(x,n); 時,會將pow函數加載進棧內存中,同樣在getSum所屬的棧區域中開闢x和n變量空 間,接受main方法中的pow(x,n);傳遞的值。然後執行pow函數中的代碼,當 pow函數執行結束後,函數會出棧(彈棧)。程序回到main方法的調用語句int res1=pow(x,n);處,並將pow方法執行完返回的結果賦值給res1變量,程序繼續往下執行,打印res1的值。.
3、函數的重載
函數的重載是多態的表現
函數重載的要求:

  • 同一個類
  • 同名函數
  • 參數個數不同或者參數類型不同
public static int add(int a,int b){  //兩個整數的和
	return a+b;
}
public static double add(double a,double b){  //兩個小數的和
	return a+b;
}
 public static double add(int a,double b){    //整數和小數之和
        return a+b;
    }
public static int add(int a,int b,int c)    //三個整數的和
{
	return add(a,b)+c;
}

重載的表現就是同一個類中有多個同名函數。區分重載主要看參數類型的排列組合(順序,個數)

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