來看兩段代碼
第一段:
public class RegexDemo {
public static void main(String[] args) {
func();
}
private static void func() {
String input = "123456";
boolean matches = input.matches("\\d+");
System.out.println(matches);
}
}
第二段:
public class RegexDemo {
public static void main(String[] args) {
RegexDemo demo = new RegexDemo();
demo.func();
}
private void func() {
String input = "123456";
boolean matches = input.matches("\\d+");
System.out.println(matches);
}
}
這兩種函數調用的區別在于靜態方法和實例方法的使用。
在第一個示例中,func() 方法是一個靜態方法,可以直接通過類名調用,無需創建類的實例。在 main() 方法中直接調用 func() 方法即可。
在第二個示例中,func() 方法是一個實例方法。首先需要創建 RegexDemo 類的實例 demo,然后通過實例 demo 調用 func() 方法。
兩種方式的區別在于對于靜態方法,可以直接通過類名調用,而實例方法需要通過類的實例調用。
在這兩個示例中,由于 main() 方法是靜態方法,所以在第二個示例中需要先創建 RegexDemo 類的實例才能調用實例方法 func()。
總結起來,靜態方法可以直接通過類名調用,而實例方法需要通過類的實例調用。選擇使用哪種方式取決于方法的功能和調用的需求。如果方法不依賴于類的實例變量或方法,可以考慮將其定義為靜態方法。如果方法需要訪問實例變量或方法,或者需要在方法內部創建實例對象,那么將其定義為實例方法更合適。
浙公網安備 33010602011771號