Java基礎之方法詳解


方法的所屬性

  在Java的語言中,方法相當於C語言中的函數,但是它與傳統的函數也有着明確的不同:在結構化的語言中,函數是一等公民,整個程序是由一個個函數組成的;但是在面向對象的語言里,類是一等公民,整個程序是由一個個類組成的。因此在Java中,方法不能獨立存在,它只能屬於類或者對象。因此,如果我們要定義一個方法,就必須在類中定義。值得注意的是,如果這個方法添加了修飾符static(這個修飾符后面會詳細說明),這個方法就屬於這個類,否則的話,這個方法屬於這個類的實例。

  我們調用方法的方式為:類.方法 | | 實例.方法。但是當我們在一個類中的方法調用相同類中的方法時,如果這個方法是普通的方法,我們需要用到this來調用;如果這個方法是靜態的方法(static修飾),我們需要用類名來調用。

 

方法的格式說明

(1).方法的格式定義為:

修飾符 返回值類型 方法名(參數類型 參數名1,參數類型 參數名2...) {
  方法體語句;
  return 返回值;
}

修飾符:目前就用 public static。后面我們再詳細的講解其他的修飾符。
返回值類型:就是功能結果的數據類型。當這個方法沒有返回值的時候,返回值的類型為void;當這個方法有返回值的時候,返回值的類型根據返回的數據來確定(如果有返回值,必須使用return)。

方法名:符合命名規則即可。

參數:實際參數:就是實際參與運算的。形式參數;就是方法定義上的,用於接收實際參數的。

參數類型:就是參數的數據類型
參數名:就是變量名
方法體語句:就是完成功能的代碼。
return:結束方法的。
返回值:就是功能的結果,由return帶給調用者。

 

方法的參數傳遞機制

方法的參數分為兩種:形參和實參。形參代表方法定義上的,用於接收實際參數的參數。實參代表實際參與運算的參數。

Java中方法的參數傳遞都是通過值傳遞實現的,所謂值傳遞,就是將實際參數值的副本傳入方法內,而參數本身不會受到任何影響。例子如下:

//a,b交換值的例子,但是這個只是值傳遞,a和b的值不會變
public class fun {
    public static void main(String[] args) {
        int a = 3,b = 4;
        fun1(a,b);                               //實參
        System.out.println(a+"+++++"+b);  
    }
        //類中的方法都用public static為前綴
        public static void fun1(int a,int b){    //形參
        int temp;
        temp = a;
        a = b;
        b = temp;
        System.out.println(a+"========"+b);
    }
}


//輸出結果為:
4========3
3+++++4
       

 

形參個數可變的方法

形參個數可變表示允許為方法指定數量不確定的形參。如果在方法定義時,在最后一個形參的類型后加三個點(...),則表明該形參可以接受多個參數值,多個參數值被當成數組傳入。例子如下:

public class fun {
    public static void main(String[] args) {
        fun1(4,"abc","dsa","bfd");
    }
    public static void fun1(int a,String... books){ //這里面的String... books相當於String[] books
        for(String book:books){
            System.out.println(book);
        }
        System.out.println(a);
    }
}

但是形參個數可變的這個方法要求,個數可變的形參只能處於形參列表的最后位置,即一個方法中最多只能有一個個數可變的形參。

 

方法重載

  在Java方法的執行過程中,重載的概念是相當重要的。Java允許同一個類中定義多個同名的方法,只要形參列表不同即可。如果同一個類中包含了兩個或兩個以上的方法名相同,但是形參列表不同(與返回值類型無關),我們則成為方法重載。所謂的重載就是要求兩同一不同:同一個類中方法名相同,參數列表不同。對於方法其他部分(返回值類型,修飾符等)與重載沒有任何關系。參數列表不同包括:A:參數個數不同。B:參數類型不同。C:參數的順序不同(算重載,但是在開發中不用)

下面例子中演示了類中方法的重載:

public class fun {
    public static void main(String[] args) {
        int a = 1;
        int b = 2;
        String c = "abc";
        fun1(a);
        fun1(a,b);
        fun1(a,c);
    }
    public static void fun1(int a){
        System.out.println(a);
    }
    public static void fun1(int a,int b){
        System.out.println(a+"==="+b);
    }
    public static void fun1(int a,String b){
        System.out.println(a+"==="+b);
    }
}

//最終結果
1
1===2
1===abc

 

為了我們共同進步,我這里有計算機專業的各種免費視頻,

如果想要,關注我的公眾號:念流聲。私聊我,看到后給你連接(只放了一張圖片,視頻有很多,需要什么可以私聊問我,有的話就給你)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM