Java | note | 调用本类的方法语法格式有哪些

在Java中,调用本类的方法有多种语法格式,具体取决于方法的修饰符和调用方法的位置。

1. 在同一个实例方法中调用另一个实例方法

如果你在一个实例方法中调用同一个类中的另一个实例方法,可以直接使用方法名或使用this关键字。

public class MyClass {
    public void method1() {
        // 直接调用本类中的另一个方法
        method2();
        
        // 使用this关键字调用本类中的另一个方法
        this.method2();
    }

    public void method2() {
        System.out.println("Method 2");
    }
}

2. 在构造函数中调用本类的其他实例方法

在构造函数中可以直接调用本类的其他实例方法,方法同上。

3. 在静态方法中调用另一个静态方法

在一个静态方法中调用本类中的另一个静态方法,可以直接使用方法名或使用类名.方法名的格式。

public class MyClass {
    public static void staticMethod1() {
        // 直接调用本类中的另一个静态方法
        staticMethod2();
        
        // 使用类名调用本类中的另一个静态方法
        MyClass.staticMethod2();
    }

    public static void staticMethod2() {
        System.out.println("Static Method 2");
    }
}

4. 在实例方法中调用静态方法

在一个实例方法中可以直接调用静态方法。

5. 在静态方法中调用实例方法

在一个静态方法中调用实例方法则需要创建类的实例。

public class MyClass {
    public static void staticMethod() {
        // 需要创建类的实例来调用实例方法
        MyClass myClass = new MyClass();
        myClass.instanceMethod();
    }

    public void instanceMethod() {
        System.out.println("Instance Method");
    }
}

6. 使用反射调用方法

Java反射也可以用于调用本类中的方法。

import java.lang.reflect.Method;

public class MyClass {
    public void instanceMethod() {
        System.out.println("Instance Method");
    }

    public static void main(String[] args) {
        try {
            MyClass obj = new MyClass();
            Method method = MyClass.class.getMethod("instanceMethod");
            method.invoke(obj);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值