Java案例怎么调用方法?

wen java案例 13

本文目录导读:

Java案例怎么调用方法?

  1. 调用同类中的非静态方法
  2. 调用不同类中的方法
  3. 调用静态方法(Static)
  4. 方法调用的通用格式总结
  5. 新手最容易犯的错误
  6. 总结一句话

在Java中调用方法(Method)主要分为三种情况:调用同类中的方法调用不同类中的方法、以及调用静态方法

下面通过几个最基础、最常用的案例来演示。

调用同类中的非静态方法

在同一个类中,直接写方法名加括号即可。

public class MyClass {
    public static void main(String[] args) {
        // 1. 创建当前类的对象(因为main是静态的,不能直接调用非静态方法)
        MyClass obj = new MyClass();
        // 2. 通过对象调用方法
        obj.sayHello();  // 输出:你好!
        obj.add(10, 20); // 输出:30
    }
    // 定义一个无参无返回值的方法
    public void sayHello() {
        System.out.println("你好!");
    }
    // 定义一个有参有返回值的方法
    public int add(int a, int b) {
        int result = a + b;
        System.out.println(result);
        return result;
    }
}

关键点main 方法是 static(静态)的,不能直接调用非静态方法,必须先创建对象,再用 对象.方法名() 调用。


调用不同类中的方法

假设有两个文件:Calculator.javaMain.java

Calculator.java(被调用的类)

public class Calculator {
    // 非静态方法
    public int multiply(int x, int y) {
        return x * y;
    }
    // 静态方法
    public static double divide(double a, double b) {
        return a / b;
    }
}

Main.java(主程序,调用方)

public class Main {
    public static void main(String[] args) {
        // 2.1 调用非静态方法:必须先创建对象
        Calculator calc = new Calculator();
        int result = calc.multiply(6, 7);
        System.out.println("6 * 7 = " + result);  // 输出:42
        // 2.2 调用静态方法:直接通过类名调用
        double result2 = Calculator.divide(10, 3);
        System.out.println("10 / 3 = " + result2); // 输出:3.333...
    }
}

关键点

  • 非静态方法:对象名.方法名()
  • 静态方法:类名.方法名()

调用静态方法(Static)

静态方法属于本身,不属于某个对象,调用时最规范的方式是 类名.方法名()

public class MathUtil {
    // 静态方法
    public static int square(int num) {
        return num * num;
    }
    // 静态方法
    public static void printInfo() {
        System.out.println("这是一个工具类");
    }
}
public class TestStatic {
    public static void main(String[] args) {
        // 正确的调用方式:类名.方法名
        int sq = MathUtil.square(5);
        System.out.println("5的平方是:" + sq); // 输出:25
        MathUtil.printInfo(); // 输出:这是一个工具类
        // 也可以使用对象调用静态方法(不推荐,会有警告)
        MathUtil obj = new MathUtil();
        obj.printInfo(); // 虽然能运行,但写法不规范
    }
}

最佳实践:始终使用 类名.静态方法名() 来调用静态方法。


方法调用的通用格式总结

方法类型 调用方式 示例
同类非静态 this.方法名() 或直接 方法名() sayHello()
同类静态 直接 方法名() printInfo()
不同类非静态 对象名.方法名() calc.multiply(2,3)
不同类静态 类名.方法名() Calculator.divide(10,2)

新手最容易犯的错误

错误1:在静态方法中直接调用非静态方法

public class Demo {
    public void show() { }         // 非静态
    public static void main(String[] args) {
        show();  // ❌ 编译报错:无法从静态上下文引用非静态方法
        // ✅ 必须改为:new Demo().show();
    }
}

错误2:忘记创建对象

public class Demo {
    public void test() { }
    public static void main(String[] args) {
        Demo.test();  // ❌ 编译报错:非静态方法不能通过类名调用
        // ✅ 必须改为:new Demo().test();
    }
}

总结一句话

  • 静态方法类名.方法名() 或 同类中直接 方法名()
  • 非静态方法 → 必须 对象名.方法名()

掌握了这三种情况,你就掌握了 Java 方法调用的核心。

抱歉,评论功能暂时关闭!