1. 程式人生 > 實用技巧 >五(三)、方法

五(三)、方法

方法:類應該具有的功能;比如 Math.random();Arrays.sort();....

  public void eat() {

    System.out.println("人可以吃飯");

  }

  public void talk(String lanuage) {

    System.out.println("人可以說話,使用"+lanuage+"語言。");

  }

  public String getName(){}

1.1方法的宣告:

  許可權修飾符 返回值型別 方法名(形參列表){

    方法體

    };

  1.1.1 許可權修飾符 private public 預設 protected

  1.1.2 返回值型別 有返回值、沒有返回值;

    ①若有返回值,在宣告時需要指定返回值型別,在方法中使用return 返回指定型別的變數or常量

    ②若方法沒有返回值,則方法宣告時使用void來表示,通常沒有返回值的方法中,就不用return返回;如果只用 只能 "return;"表示結束此方法;

  1.1.3 我們定義方法該不該有返回值?憑經驗;

  1.1.4方法名 屬於識別符號;需要遵循識別符號規範;

  1.1.5 形參列表:方法可以宣告0個 1個或者多個形參;格式:資料型別1 形參1,資料型別2 形參二;

  1.1.6 方法體:方法功能的體現;

再談方法

    1.方法的過載:在同一個類中,允許存在一個以上的同名方法,只用他們的引數個數或者引數型別不同即可。“兩同一不同”

同類,同方法名;引數列表不同;引數個數不同,引數型別不同;
過載的特點:與返回值型別無關,只看引數列表,且引數列表必須不同。呼叫時感覺方法引數列表的不同來區分;
舉例;Arrays.sort,/binerySearch();
判斷是否是過載:跟方法的修飾符、返回值型別,形參變數名,方法體都沒有關係;、
在通過物件呼叫方法時,如何確定指定方法?1.方法名,2.引數列表
2.可變個數的形參,
a.格式:資料型別 ...變數名
b.當呼叫可變個數形參方法時,傳入的引數個數可以使 0個,1個,2個。。。
c.可變個數形參方法與本類方法名相同,形參不同的方法之間構成過載;但是呼叫確定引數的方法
d.可變個數形參的方法與本來方法相同,形參了下也相同的陣列之間不構成過載,也就是說,二者不能共存。
e.可變個數形參在方法的形參中,必須宣告在末尾;
f.可變個數形參在方法的形參中,最多隻能宣告一個可變形參;

public static void main(String[] args) {
        Day9Method10 day9Method10 = new Day9Method10();
        //過載
        day9Method10.getSum(1,2);//預設呼叫 getSum(int i, int j)若getSum(int i, int j)註釋掉,則呼叫getSum(double i, double j)
        day9Method10.show(0, "A","B");
        day9Method10.show(0, "A");//優先呼叫確定引數的方法
    }

    public void getSum(int i, int j) {

    }

    public void getSum(double i, double j) {

    }

    public void getSum(String i, String j) {

    }
    
    //可變個數的形參 str引數個數可變
    public void show(int a,String ...str) {
        System.out.println("可變引數:"+str);
        for(int i=0;i<str.length;i++) {
            System.out.println(str[i]);
        }
    }
    public void show(int a,String str) {
        System.out.println(str);
        
    }