iT邦幫忙

2022 iThome 鐵人賽

DAY 21
0

方法(Method)
前面有提到物件和類別的關係及屬性,但只有屬性,物件並不會有動作,因此要在類別中用方法來描述物件的行為。

傳回值型別 方法名稱(參數型別 參數名稱…){
    敘述1
    …
    敘述n
}

方法名稱就像取變數名稱的目的一樣,表示類別可進行的動作,讓人快速理解是什麼動作。
()小括號傳入必要的參數,可以留空
{}大括號用來敘述所要執行的動作

無參數的方法
方法在遇到return或整個跑完後,會再跳回呼叫的原處繼續執行。

package com.mycompany.testthree;

class Car{
    int tire;
    int seat;
    
    void run(){
         System.out.println("前進5公里");
    }
}
public class testThree {
    public static void main(String[] args) {
        Car bus = new Car();
        Car auto = new Car();
        
        bus.tire=6;
        bus.seat=20;
        auto.tire=4;
        auto.seat=4;
       
        System.out.print("公車有"+bus.tire+"個輪胎、"+bus.seat+"座位,");
        bus.run();
        System.out.print("汽車有"+auto.tire+"個輪胎、"+auto.seat+"座位,");
        auto.run();
    }
    
}

https://ithelp.ithome.com.tw/upload/images/20221006/20152201eM553UXeaz.png

呼叫方法run,讓公車和汽車的行為為前進5公里。

有參數的方法
在主程式指定公車和汽車前進的公里數,作為參數傳進run裡。

package com.mycompany.testthree;

class Car{
    int tire;
    int seat;
    
    void run(int km){
         System.out.println("前進"+km+"公里");
    }  
}
public class testThree {
    public static void main(String[] args) {
        Car bus = new Car();
        Car auto = new Car();
        
        bus.tire=6;
        bus.seat=20;
        auto.tire=4;
        auto.seat=4;
       
        System.out.print("公車有"+bus.tire+"個輪胎、"+bus.seat+"座位,");
        bus.run(25);
        System.out.print("汽車有"+auto.tire+"個輪胎、"+auto.seat+"座位,");
        auto.run(10);
    } 
}

https://ithelp.ithome.com.tw/upload/images/20221006/20152201CzYtUbhPzH.png

定義同名方法
在Java中,允許在同個類別中,定義同名、但參數個數或型別不同的方法,稱為多重定義(Overloading)。

package com.mycompany.testthree;

class Car{
    int tire;
    int seat;
    
    void run(int km){
         System.out.println("前進"+km+"公里");
    }
    
    void run(int start, int end){
        int km;
        km=end-start;
        System.out.println("前進"+km+"公里");
    }    
}
public class testThree {
    public static void main(String[] args) {
        Car bus = new Car();
        bus.tire=6;
        bus.seat=20;
       
        System.out.print("公車有"+bus.tire+"個輪胎、"+bus.seat+"座位,");
        bus.run(25);
        System.out.print("公車有"+bus.tire+"個輪胎、"+bus.seat+"座位,");
        bus.run(20,100);
    }   
}

這邊有兩個run方法:
一個是行走公里,一個是開始與結束的一維座標軸位置,同名、但參數個數不同的多重定義。
https://ithelp.ithome.com.tw/upload/images/20221006/20152201oatldXk9Pp.png

參考資料:
最新java程式語言第六版


上一篇
認識類別及物件
下一篇
資訊隱藏
系列文
大學每日任務:攝取新知識及學習紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言