更新時間:2022-04-08 10:38:42 來源:動力節點 瀏覽1659次
在Java中,方法是執行特定任務或操作的語句的集合。它被廣泛使用,因為它提供了代碼的可重用性,意味著一次編寫并多次使用。它還提供了簡單的修改。每個方法都有自己的名稱,通過它被調用。當編譯器讀取方法名稱時,調用該方法并執行指定的任務。在本節中,動力節點小編將告訴大家如何在 Java中調用預定義、用戶定義、靜態和Java抽象方法。
在Java中,靜態方法是在不創建定義該方法的類的對象的情況下調用或調用的方法。所有在方法名前帶有 static 關鍵字的方法都稱為靜態方法。我們還可以通過在方法名稱前使用static關鍵字來創建靜態方法。我們可以使用ClassName.methodName調用靜態方法。
靜態方法的最佳示例是main()方法。它在不創建對象的情況下被調用。
靜態方法調用示例
導入 java.util.*;
公共類 StaticMethodCallExample
{
公共靜態無效 主(字符串參數 [])
{
詮釋 一個;
//調用數學類的靜態方法
a=數學.min( 23 , 98 );
System.out.println( "最小數為:" + a);
}
}
輸出:
最少人數為 23
在 Java 中,預定義方法是已在類中定義的方法。當我們需要任何預定義的方法時,我們只需按其名稱調用該方法。
在下面的示例中,我們使用了Object類的名為hashCode()的方法。為了調用預定義的方法hashCode(),我們創建了 Object 類的對象obj,因為它是 Object 類的方法。通過使用該對象,我們調用了hashCode()方法,該方法返回該對象的哈希碼值。
PredefinedMethodCallExample.java
公共類 PredefinedMethodCallExample
{
公共靜態無效 主要(字符串 [] 參數)
{
詮釋 一個;
對象 obj=新 對象();
a=obj.hashCode();
System.out.println( "對象的哈希碼為:" +a);
}
}
輸出:
對象的哈希碼為:2036368507
要調用用戶定義的方法,首先,我們創建一個方法,然后調用它。必須在類中創建一個方法,方法名后跟括號()。方法定義由方法頭和方法體組成。
我們可以通過以下方式調用方法:
方法名(); //非靜態方法調用
如果方法是靜態方法,我們使用如下:
obj.method_name(); //靜態方法調用
其中 obj 是類的對象。
在以下示例中,我們創建了兩個名為showMessage()和displayMessage()的用戶定義方法。showMessage ()方法是靜態方法,而displayMessage()方法是非靜態方法。
請注意,我們直接調用了showMessage()方法,沒有使用對象。而displayMessage()方法是使用類的對象調用的。
MethodCallExample.java
公共類 MethodCallExample
{
//用戶定義的靜態方法
靜態無效 顯示消息()
{
System.out.println( "調用的靜態方法。" );
}
//用戶定義的非靜態方法
無效 的顯示消息()
{
System.out.println( "調用了非靜態方法。" );
}
公共靜態無效 主要(字符串 [] 參數)
{
//調用靜態方法而不使用對象
顯示消息(); //調用方法
//創建一個類的對象
MethodCallExample me= new MethodCallExample();
//調用非靜態方法
me.displayMessage(); //調用方法
}
}
輸出:
調用的靜態方法。
調用了非靜態方法。
一個類可以包含兩個或多個同名的方法。現在出現了一個問題,我們如何調用具有相同名稱的兩個方法。
當一個類有兩個或多個同名方法時,它由返回類型或參數類型或參數數量來區分。這個概念稱為方法重載。例如:
整數 總和(整數 x, 整數 y);
雙 總和(雙 x, 雙 y);
上述兩個方法同名sum()但兩者不同。第一個 sum() 方法返回一個 int 值并解析兩個整數 x 和 y 作為參數。而第二個 sum() 方法返回一個雙精度值并解析兩個雙精度值 a 和 y 作為參數。
讓我們創建一個重載sub()方法的程序。
MethodOverloadingExample.java
公共類 MethodOverloadingExample
{
靜態int sub( int x, int y)
{
返回 x - y;
}
靜態雙子 (雙 x, 雙 y)
{
返回 x - y;
}
公共靜態無效 主要(字符串 [] 參數)
{
int a = sub( 45 , 23 );
雙 b = sub( 23.67 , 10.5 );
System.out.println( "整數值的減法:" +a);
System.out.println( "雙精度減法:" +b);
}
}
輸出:
整數值的減法:22
雙值減法:13.170000000000002
抽象方法是使用抽象關鍵字聲明的方法。抽象方法只有一個方法聲明。另一個類中定義的抽象方法的主體。抽象方法必須在抽象類中聲明。我們可以將抽象方法的可見性設置為私有或公共。我們不能將抽象方法聲明為 final,因為它違反了抽象方法的優點。
抽象方法的實際實現必須在子類中。我們可以定義一個抽象方法如下:
抽象公共無效 findArea();
讓我們創建一個調用抽象方法的示例。
在下面的示例中,我們創建了一個名為AbstractMethodExample的類并將其聲明為抽象。在這個類中,我們聲明了一個名為show()的抽象方法。之后,我們創建了另一個名為AbstractMethodCalling的類,它擴展了AbstractMethodExample類。在這個類中,我們實現了抽象方法。
為了調用抽象方法 show(),我們創建了父類的一個實例并調用了抽象方法。
AbstractMethodCalling.java
//抽象類
抽象類 AbstractMethodExample
{
//抽象方法聲明
抽象無效 顯示();
}
公共類 AbstractMethodCalling 擴展 AbstractMethodExample
{
//抽象方法實現
無效 顯示()
{
System.out.println( "調用的抽象方法。" );
}
公共靜態無效 主(字符串參數 [])
{
AbstractMethodExample obj = new AbstractMethodCalling();
//調用抽象方法
obj.show();
}
}
輸出:
調用的抽象方法。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習