"静态方法和实例方法" 这两种函数调用的区别

来看两段代码

第一段:

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()

总结起来,静态方法可以直接通过类名调用,而实例方法需要通过类的实例调用。选择使用哪种方式取决于方法的功能和调用的需求。如果方法不依赖于类的实例变量或方法,可以考虑将其定义为静态方法。如果方法需要访问实例变量或方法,或者需要在方法内部创建实例对象,那么将其定义为实例方法更合适。

posted @ 2023-08-06 10:30  jarsing  阅读(44)  评论(0编辑  收藏  举报