06.08 Java方法詳解

Java方法詳解

1. 方法概述

為了解決代碼重複編寫的問題,可以將需要重複編寫的代碼提取出來放在一個{}中,給這段代碼起個名字,通過這個名字來調用這段代碼就可以實現想要做的事情。提取出來的代碼可以組成一個方法。

2. 方法存在的意義

l 提高代碼的複用性。

l 增強代碼的可維護性。

3. 書寫方法的格式

l 方法格式

修飾符 返回值類型 方法名(參數類型參數名1,參數類型參數名2…) {

方法體;

return 返回值;

}

方法組成的三要素:返回值類型、方法名、參數列表。

l 方法的各個參數的說明

修飾符:public private 默認 protected。

返回值類型:返回值的數據類型,當不確定方法的返回值類型時,可以將返回值類型寫成Object(因為Object是java中的根類,可以接收任意類型的返回值)。

方法名:給方法起的一個名字。

參數類型:調用方法時傳入的數據的數據類型,參數類型包括基本數據類型和引用數據類型。

參數名:調用方法時傳入的參數的參數的名字。

方法體:實現業務功能的代碼。

Return:結束方法,返回返回值。

l 注意事項:

方法定義完成之後,在調用方法的時候才會執行方法,不調用的時候不會執行。

4. 方法調用的原理和過程

4.1 首先編寫一個java類。

4.2在java類中找到main方法,並且調用main方法。

4.3在main方法中調用sum方法。

4.4讓形參接收實參。

4.5執行sum方法內部的業務代碼。

4.6方法內部的變量在方法結束時銷燬,最後需要把返回值通過return返回方法外。

4.7結束。

5. 方法的返回值是void

l 代碼格式

修飾符 void 方法名(參數類型參數名1,參數類型參數名2…) {

方法體;

return ;

}

l 代碼示例:

public class MethodDemo01 {

public static void main(String[] args) {

getInfo();

}

public static void getInfo(){

System.out.println("返回值是void");

}

}

6. 方法重載

l 概述

在同一個類中,允許存在一個以上的同名方法,只要它們的參數個數或者參數類型不同即可。方法重載的意義是可以減輕開發人員的記憶負擔。

l 特點

與返回值類型無關。

參數列表不一樣,體現在參數的類型不一樣和個數不一樣,當個數和類型都一樣時,順序不一樣也行。

在調用時,jvm虛擬機通過參數列表的不同來區分同名方法

l 代碼示例:

public class MethodDemo02 {

public static void main(String[] args) {

int a = 10;

int b = 20;

// 求和

int result = sum(a, b);

System.out.println("result:" + result);

int c = 30;

// 求和

result = sum(a,b,c);

System.out.println("result:"+result);

}

//兩個float類型的數據求和

public static float sum(float a,float b) {

return a + b;

}

// 三個整數的求和

public static int sum(int a,int b,int c) {

return a + b + c;

}

// 兩個整數的求和

public static int sum(int a, int b) {

return a + b;

}

}

7. 方法中的參數傳遞

l 概述

當我們要調用一個方法時,我們會把指定的數據,傳遞給方法中的參數,這樣方法中的參數就擁有了這個指定的數據。這種傳遞方式,被稱為參數傳遞。

l 參數傳遞的特點

定義方法時,參數列表中的變量,是形式參數

調用方法時,傳給方法的數值,是實際參數

形式參數的改變不會影響實際參數,也可以理解為形式參數的名稱可以和實際參數的名稱不一致。

l 參數是基本數據類型時,值傳遞

代碼示例:

public class MethodDemo03 {

public static void main(String[] args) {

int a = 10;

int b = 20;

swap(a,b);

}

public static void swap(int a,int b){

int temp = a;

a = b;

b = temp;

System.out.println(a+b);

}

}

l 參數是引用數據類型時,是引用傳遞

引用傳遞的介紹:

方法中的參數是引用數據類型時,方法中傳遞的不是具體的數據,而是傳遞的是引用的地址,因此不需要返回數據。

參數指向的是堆內存中引用數據類型的對象的地址。把引用數據類型的參數(堆內存中的地址)比喻成一把鑰匙,把引用數據類型的對象比喻成一個房子,只要有相同鑰匙的人,房間對於這些人是共享的,這些人都可以對這個房間進行操作。

代碼示例:

public class MethodDemo04 {

public static void main(String[] args) {

int a = 10;

int b = 20;

int[] arr = {a,b};

swap(arr);

}

public static void swap(int[] arr){

int temp = arr[0];

arr[0] = arr[1];

arr[1] = temp;

System.out.println(arr);

}

}

Java方法詳解


分享到:


相關文章: