一、方法调用的基本语法
在Java中,调用方法的基本语法为:
方法名(参数1, 参数2, ..., 参数n);
其中,方法名
为要调用的方法的名称,参数
为该方法接收的参数列表。
例如,下面的代码演示了一个简单的方法调用:
public class MethodExample { public static void main(String[] args) { int result = add(1, 2); System.out.println("1 + 2 = " + result); } public static int add(int a, int b) { return a + b; } }
运行结果为:
1 + 2 = 3
在上面的代码中,调用了一个名为add
的静态方法,将1和2作为参数传入,并将结果保存在result
变量中。
二、方法的重载
在Java中,可以定义多个同名的方法,只要它们的参数列表不同就可以。这种方法称为方法的重载。
例如,有两个方法分别接收一个整数和一个字符串:
public class OverloadExample { public static void main(String[] args) { int result1 = add(1, 2); String result2 = add("Hello, ", "World!"); System.out.println(result1); System.out.println(result2); } public static int add(int a, int b) { return a + b; } public static String add(String a, String b) { return a + b; } }
运行结果为:
3 Hello, World!
在上面的代码中,定义了两个名为add
的方法,分别接收两个整数和两个字符串作为参数,并返回它们的和及拼接结果。
三、方法的覆盖
在Java中,如果一个类继承自另一个类,可以在子类中覆盖父类的方法。被覆盖的方法称为父类的方法,覆盖它的方法称为子类的方法。
例如,有一个父类和一个子类,它们都定义了一个名为run
的方法:
public class ParentClass { public void run() { System.out.println("Parent is running."); } } public class ChildClass extends ParentClass { public void run() { System.out.println("Child is running."); } }
在上面的代码中,ChildClass
覆盖了ParentClass
的run
方法,输出了不同的内容。
可以使用以下代码进行测试:
public class OverrideExample { public static void main(String[] args) { ParentClass parent = new ParentClass(); ChildClass child = new ChildClass(); parent.run(); child.run(); } }
运行结果为:
Parent is running. Child is running.
四、接口方法的实现
在Java中,接口是一种特殊的类,其中只包含抽象方法和常量。实现接口的类必须实现接口中定义的所有方法。这些方法称为接口方法。
例如,有一个名为Runnable
的接口,其中定义了一个run
方法:
public interface Runnable { public void run(); }
如果要实现该接口,必须实现run
方法。例如:
public class ThreadExample implements Runnable { public static void main(String[] args) { Thread thread = new Thread(new ThreadExample()); thread.start(); System.out.println("Thread is running."); } public void run() { System.out.println("Thread is running."); } }
运行结果为:
Thread is running. Thread is running.
在上面的代码中,ThreadExample
实现了Runnable
接口,并覆盖了其中的run
方法。在main
方法中,创建了一个新的线程并启动它,该线程将执行ThreadExample
实现的run
方法。
五、Lambda表达式调用方法
在Java 8中,引入了Lambda表达式,可以在代码中使用它们来调用方法。
例如,定义一个接口和一个包含该接口方法的类:
public interface Operation { public int operate(int a, int b); } public class Calculator { public int add(int a, int b) { return a + b; } public int subtract(int a, int b) { return a - b; } }
可以使用Lambda表达式调用这些方法,例如:
public class LambdaExample { public static void main(String[] args) { Calculator calculator = new Calculator(); int result1 = calculator.add(1, 2); System.out.println(result1); Operation operation = (a, b) -> a - b; int result2 = operation.operate(3, 4); System.out.println(result2); } }
运行结果为:
3 -1
在上面的代码中,首先调用了Calculator
中的add
方法。然后,使用Lambda表达式定义了一个名为operation
的Operation
对象,它实现了operate
方法并返回两个整数的差。最后,使用operation
对象调用operate
方法。