欢迎访问宙启技术站
智能推送

Java函数的调用方法及常见错误

发布时间:2023-06-18 14:07:57

Java函数的调用方法:

在Java中,我们可以通过以下方式来调用一个函数:

1.在同一个类中调用函数

在同一个类中,可以直接通过函数名来调用函数,如下所示:

public class MyTest {
    public static void main(String[] args) {
        add(1, 2);
    }

    public static void add(int a, int b) {
        int sum = a + b;
        System.out.println("sum = " + sum);
    }
}

注:在同一个类中调用函数时,需要将函数声明为static。

2.在不同的类中调用函数

在不同的类中,需要先创建函数所在类的对象,然后才能通过对象名来调用函数,如下所示:

public class MyClass {
    public void printHello() {
        System.out.println("Hello");
    }
}

public class MyTest {
    public static void main(String[] args) {
        MyClass obj = new MyClass();
        obj.printHello();
    }
}

常见错误:

1.函数名拼写错误

当函数名拼写错误时,程序会报“cannot find symbol”错误。

public class MyTest {
    public static void main(String[] args) {
        add(1, 2);
    }

    public static void ads(int a, int b) {
        int sum = a + b;
        System.out.println("sum = " + sum);
    }
}

在上述代码中,函数名拼写错误,正确的函数名应为add,修改后代码如下:

public class MyTest {
    public static void main(String[] args) {
        add(1, 2);
    }

    public static void add(int a, int b) {
        int sum = a + b;
        System.out.println("sum = " + sum);
    }
}

2.函数参数类型与调用时传入参数类型不匹配

当函数参数类型与调用时传入参数类型不匹配时,程序会报“method not applicable”错误。

public class MyTest {
    public static void main(String[] args) {
        add(1, "2");
    }

    public static void add(int a, int b) {
        int sum = a + b;
        System.out.println("sum = " + sum);
    }
}

在上述代码中,函数参数类型为int,但调用时传入了一个String类型的参数,修改后代码如下:

public class MyTest {
    public static void main(String[] args) {
        add(1, 2);
    }

    public static void add(int a, int b) {
        int sum = a + b;
        System.out.println("sum = " + sum);
    }
}

3.函数返回值类型与实际返回类型不匹配

当函数返回值类型与实际返回类型不匹配时,程序会报“incompatible types”错误。

public class MyTest {
    public static void main(String[] args) {
        int sum = add(1, 2);
        System.out.println("sum = " + sum);
    }

    public static String add(int a, int b) {
        int sum = a + b;
        return sum;
    }
}

在上述代码中,函数返回值类型为String,但实际返回类型为int,修改后代码如下:

public class MyTest {
    public static void main(String[] args) {
        int sum = add(1, 2);
        System.out.println("sum = " + sum);
    }

    public static int add(int a, int b) {
        int sum = a + b;
        return sum;
    }
}