java中如何调用
Java中如何调用方法
在Java中,调用方法需要明确方法的类型(静态或实例)、所属类或对象,以及参数传递方式。以下是具体实现方式:
调用实例方法 创建类的对象后,通过对象名调用非静态方法。例如:
ClassName obj = new ClassName();
obj.methodName(arguments);
调用静态方法 静态方法属于类而非实例,可直接通过类名调用:
ClassName.staticMethodName(arguments);
方法参数传递 基本类型采用值传递,修改形参不影响实参;引用类型传递对象地址,形参修改会影响原对象:
// 值传递示例
void modifyPrimitive(int num) { num = 10; }
// 引用传递示例
void modifyReference(ArrayList list) { list.add("item"); }
方法重载调用 根据参数类型和数量自动匹配对应方法:
class Calculator {
int add(int a, int b) { return a + b; }
double add(double a, double b) { return a + b; }
}
// 调用时根据参数类型选择
new Calculator().add(1, 2); // 调用int版本
new Calculator().add(1.5, 2.5); // 调用double版本
递归方法调用 方法内部直接调用自身,需设置终止条件:
int factorial(int n) {
return (n <= 1) ? 1 : n * factorial(n - 1);
}
跨类方法调用 通过导入包或使用全限定类名访问其他类的方法:
import com.example.UtilityClass;
UtilityClass.doSomething();
// 或使用全限定名
com.example.UtilityClass.doSomething();
特殊调用场景
构造方法调用
使用new关键字触发构造方法,可通过this()调用同类其他构造方法:
class Person {
Person() { this("Unknown"); } // 调用下面的构造方法
Person(String name) { /*...*/ }
}
父类方法调用
子类中使用super关键字调用父类方法或构造方法:
class Child extends Parent {
void method() {
super.parentMethod(); // 调用父类方法
}
}
可变参数调用 使用省略号声明可变参数方法,调用时可传任意数量参数:
void printValues(String... values) {
for (String val : values) System.out.println(val);
}
// 调用方式
printValues("A", "B", "C");
printValues(new String[]{"X", "Y"});
接口默认方法调用 实现类可直接调用接口的default方法,或通过接口名.super覆盖调用:
interface InterfaceA {
default void show() { System.out.println("InterfaceA"); }
}
class ImplClass implements InterfaceA {
void callShow() {
show(); // 直接调用
InterfaceA.super.show(); // 显式调用
}
}






