java如何调用另一个类的方法
调用另一个类的方法
在Java中调用另一个类的方法,通常需要创建该类的对象或直接通过类名调用(静态方法)。以下是几种常见的方式:
通过对象实例调用实例方法
创建一个目标类的对象,通过对象调用其方法。目标类必须是非静态的。

// 定义目标类
public class TargetClass {
public void instanceMethod() {
System.out.println("实例方法被调用");
}
}
// 调用方
public class Main {
public static void main(String[] args) {
TargetClass target = new TargetClass(); // 创建对象
target.instanceMethod(); // 调用实例方法
}
}
通过类名调用静态方法
如果目标方法是静态的(static修饰),可以直接通过类名调用,无需创建对象。
// 定义目标类
public class TargetClass {
public static void staticMethod() {
System.out.println("静态方法被调用");
}
}
// 调用方
public class Main {
public static void main(String[] args) {
TargetClass.staticMethod(); // 直接通过类名调用
}
}
通过继承调用父类方法
如果当前类继承了目标类,可以直接调用父类的非私有方法。

// 定义父类
public class ParentClass {
public void parentMethod() {
System.out.println("父类方法被调用");
}
}
// 子类继承父类
public class ChildClass extends ParentClass {
public void callParentMethod() {
parentMethod(); // 直接调用继承的方法
}
}
// 调用方
public class Main {
public static void main(String[] args) {
ChildClass child = new ChildClass();
child.callParentMethod();
}
}
通过接口调用实现类方法
定义一个接口,目标类实现该接口,通过接口类型调用方法。
// 定义接口
public interface MyInterface {
void interfaceMethod();
}
// 目标类实现接口
public class TargetClass implements MyInterface {
@Override
public void interfaceMethod() {
System.out.println("接口方法被实现");
}
}
// 调用方
public class Main {
public static void main(String[] args) {
MyInterface obj = new TargetClass(); // 通过接口引用
obj.interfaceMethod(); // 调用接口方法
}
}
通过反射调用方法
使用Java反射机制动态调用类的方法,适用于运行时确定方法名的情况。
import java.lang.reflect.Method;
// 目标类
public class TargetClass {
public void reflectMethod() {
System.out.println("反射方法被调用");
}
}
// 调用方
public class Main {
public static void main(String[] args) throws Exception {
Class<?> clazz = Class.forName("TargetClass"); // 获取类对象
Object obj = clazz.newInstance(); // 创建实例
Method method = clazz.getMethod("reflectMethod"); // 获取方法
method.invoke(obj); // 调用方法
}
}
注意事项
- 访问权限:确保目标方法的访问修饰符(
public、protected、private)允许当前类调用。 - 静态与非静态:静态方法属于类,非静态方法属于对象实例。
- 包路径:如果目标类在不同包中,需导入该类或使用全限定名。






