--- tags: Java --- # Java--類別方法 ## 程序與函數的基礎 * 程序(Subroutines或Procedures):沒有傳回值 * 函數(Functions):有傳回值 ## 建立類別方法 ### 語法與語意 :::info ```java= 存取敘述 static 傳回值型態 方法名稱(參數列) { …… 程式敘述; …… } ``` ::: * 存取敘述修飾子 「存取敘述」(Access Specifier)是一種修飾子(Modifiers), 可以是public和private * public:方法可以在程式任何地方進行呼叫, 甚至是其他類別 * private:方法只能在同一個類別內進行呼叫 * 靜態方法 static 宣告static,永遠吃掉某塊記憶體,不會消失 >* 參考:https://home.gamer.com.tw/creationDetail.php?sn=2622820 ### 呼叫類別方法 :::info ```java= 方法名稱(參數列); ``` ```java= 類別名稱.方法名稱(參數列); ``` ::: 範例1:   範例2:(呼叫其他類別的類別方法)   ### 類別方法的參數傳遞 * 正式參數/假參數:識別字,其角色如同變數,需要指定資料型態 * 實際參數:方法呼叫的參數,其運算結果的值需要和正式參數定義的資料型態相同 範例:   ### 類別方法的傳回值 * Java方法的傳回值型態不是void,而是其它資料型態int或char等 >>「函數」 * 使用「return」關鍵字 * 傳回值的型態需要與方法宣告的傳回值型態相同 範例1:(無傳回值)  範例2:(有傳回值)   範例3:(有傳回值)   ### 傳值或傳址參數 * 傳值:把變數值傳入方法,方法會另外配置記憶體儲存參數值,不會變更原本呼叫的變數值 * 數值(int、double)、字元/字串(char、String) * 傳址:把變數實際儲存的記憶體位置傳入,若在方法更改參數值,也會變更原本呼叫的變數值 * 陣列(Array) 範例:   ## 類別變數和變數範圍 * Java語言的變數分為類別的成員變數、方法參數和區域變數 * static + 成員變數 >> 類別變數 1. 區域變數範圍:在方法內宣告的變數,只能在程式碼後使用(不包括宣告前),在方法外的程式碼並無法存取此變數。 2. 方法參數範圍:傳入方法的參數變數範圍是整個方法的程式區塊,在方法外的程式碼並無法存取。 3. 成員變數範圍:不論是static的類別變數或是沒有宣告static,整個類別的程式碼都可以存取此變數。  範例:   範例:   ## 遞迴的階層函數(Recursive) * 遞迴:一個問題的內涵是由本身所定義 1. 遞迴方法在每次呼叫時,都可以使問題範圍逐漸縮小 2. 遞迴方法需要擁有終止條件,以便結束的執行 範例:   ## Math數學類別的類別方法 * 在呼叫方法時需要指明類別Math  範例:  
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up