java如何调用另一个类的方法
调用静态方法
静态方法属于类本身,无需创建对象实例即可调用。语法格式为 ClassName.methodName()。
示例代码:
class Helper {
public static void printMessage() {
System.out.println("This is a static method.");
}
}
public class Main {
public static void main(String[] args) {
Helper.printMessage(); // 直接通过类名调用
}
}
调用实例方法
实例方法需通过对象调用。需先创建目标类的对象,再使用 objectName.methodName() 格式。
示例代码:
class Calculator {
public int add(int a, int b) {
return a + b;
}
}
public class Main {
public static void main(String[] args) {
Calculator calc = new Calculator(); // 创建对象
int result = calc.add(5, 3); // 通过对象调用方法
System.out.println(result); // 输出 8
}
}
跨包调用方法
若目标类位于不同包中,需先导入该类或使用全限定名(包名+类名)。
示例步骤:
- 在目标类前添加
public修饰符确保可访问性。 - 在调用方使用
import packageName.ClassName;或直接写全限定名。
示例代码:// 文件路径: com/utils/StringHelper.java package com.utils; public class StringHelper { public static String reverse(String s) { return new StringBuilder(s).reverse().toString(); } }
// 文件路径: app/Main.java package app; import com.utils.StringHelper; // 导入类
public class Main { public static void main(String[] args) { String reversed = StringHelper.reverse("Hello"); System.out.println(reversed); // 输出 "olleH" } }
### 通过继承调用方法
子类可调用父类的非私有方法(`public`/`protected`/默认权限)。使用 `super.methodName()` 调用父类方法。
示例代码:
```java
class Parent {
protected void show() {
System.out.println("Parent method");
}
}
class Child extends Parent {
public void callParentMethod() {
super.show(); // 调用父类方法
}
}
public class Main {
public static void main(String[] args) {
Child child = new Child();
child.callParentMethod(); // 输出 "Parent method"
}
}
通过接口调用方法
实现接口的类必须重写接口方法,可通过接口引用调用具体实现。
示例代码:
interface Greeting {
void greet();
}
class EnglishGreeting implements Greeting {
public void greet() {
System.out.println("Hello!");
}
}
public class Main {
public static void main(String[] args) {
Greeting greeting = new EnglishGreeting(); // 接口引用指向实现类
greeting.greet(); // 输出 "Hello!"
}
}
注意事项
- 确保方法权限修饰符(如
public)允许访问。 - 调用实例方法前需检查对象是否为
null,避免NullPointerException。 - 跨包调用时,目标类需位于正确的模块路径或类路径中。







