實例詳解Java中若何對辦法停止挪用。本站提示廣大學習愛好者:(實例詳解Java中若何對辦法停止挪用)文章只能為提供參考,不一定能成為您想要的結果。以下是實例詳解Java中若何對辦法停止挪用正文
辦法挪用
Java支撐兩種挪用辦法的方法,依據辦法能否前往值來選擇。
當法式挪用一個辦法時,法式的掌握權交給了被挪用的辦法。當被挪用辦法的前往語句履行或許達到辦法體閉括號時刻交還掌握權給法式。
當辦法前往一個值的時刻,辦法挪用平日被當作一個值。例如:
int larger = max(30, 40);
假如辦法前往值是void,辦法挪用必定是一條語句。例如,辦法println前往void。上面的挪用是個語句:
System.out.println("Welcome to Java!");
示例
上面的例子演示了若何界說一個辦法,和若何挪用它:
public class TestMax { /** 主辦法 */ public static void main(String[] args) { int i = 5; int j = 2; int k = max(i, j); System.out.println("The maximum between " + i + " and " + j + " is " + k); } /** 前往兩個整數變量較年夜的值 */ public static int max(int num1, int num2) { int result; if (num1 > num2) result = num1; else result = num2; return result; } }
以上實例編譯運轉成果以下:
The maximum between 5 and 2 is 5
這個法式包括main辦法和max辦法。Main辦法是被JVM挪用的,除此以外,main辦法和其它辦法沒甚麼差別。
main辦法的頭部是不變的,如例子所示,帶潤飾符public和static,前往void類型值,辦法名字是main,另外帶個一個String[]類型參數。String[]注解參數是字符串數組。
挪用實例:
1、挪用本類中的辦法
辦法1、被挪用辦法聲明為static ,可以在其他辦法中直接挪用。示例代碼以下:
public class HelloWord { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String str="HelloWord!"; int a=0; int b=a+1; int result=0; for(int i=0;i<20;i++) { //Add辦法挪用 result= Add(a,b); System.out.println(str+" "+ result); a+=i; } } /** * 被挪用辦法,這裡應用了static聲明為靜態辦法 * @param x * @param y * @return */ private static int Add(int x,int y) { return x+y; } }
辦法2、被挪用辦法,沒被static潤飾,不是靜態辦法。挪用時須要經由過程類的實例化停止挪用。示例以下:
public class HelloWord { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String str="HelloWord!"; int a=0; int b=a+1; int result=0; for(int i=0;i<20;i++) { //Add辦法挪用 //類的實例化 HelloWord helloword=new HelloWord(); //經由過程實例化的類停止Add辦法挪用 result=helloword.Add(a, b); System.out.println(str+" "+ result); a+=i; } } /** * 被挪用辦法,沒被static潤飾,不是靜態辦法。挪用時須要經由過程類的實例化停止挪用 * @param x * @param y * @return */ private int Add(int x,int y) { return x+y; } }
2、挪用內部的類的辦法,經由過程類的實例化停止挪用。示例代碼以下:
內部的類:
public class Test { /** * 被挪用辦法Add * @param x * @param y * @return */ public int Add(int x,int y) { return x+y; } /** * 被挪用辦法Sub * @param x * @param y * @return */ public static int Sub(int x,int y) { return x-y; } }
挪用:
public class HelloWord { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub String str="HelloWord!"; int a=5; int b=a+1; int result=0; for(int i=0;i<20;i++) { //Add辦法挪用 //類的實例化 Test test=new Test(); //經由過程實例化的類停止Add辦法挪用 result=test.Add(a, b); System.out.println(str+" "+ result); result=test.Sub(b, 1); System.out.println(str+" "+ result); a+=i; } } }