方法(method)是程序中最小的执行单元
定义格式
public static 数据类型 方法名 ( 参数 ) {
return 数据 ;
}
范例
public static boolean isEvenNumber( int number ) {
return true ;
}
public static int getMax( int a, int b ) {
return 100 ;
}
调用格式
方法名 ( 参数 ) ;
数据类型 变量名 = 方法名 ( 参数 ) ;
范例
isEvenNumber ( 5 ) ;
boolean flag = isEvenNumber ( 5 );
形参:方法定义中的参数,等同于变量定义格式
例如:int number
在Java中,形参是方法中用于接收传递给方法的值或对象的参数,它们是方法的一部分。
形参在方法声明时用来代表将要传递给方法的值或对象的占位符。在方法内部,可以使用这些形参进行操作和计算。
我们可以通过以下语法来定义形参:
public void methodName(Type parameter1, Type parameter2, ...) {
// 执行方法的操作
}
其中,`methodName`是方法名,`parameter1`、`parameter2`等是形参名称,`Type`是形参的数据类型。
形参之间使用逗号分隔。
下面是一个例子,这个方法功能是计算两个整数的和,并将结果作为返回值:
public int sum(int a, int b) {
int result = a + b;
return result;
}
在上面的例子中,`sum` 方法有两个形参 `a` 和 `b`,表示它需要接收两个整型参数。
在 `sum` 方法内部,我们使用这两个形参计算它们的和,并将结果作为返回值。
需要注意的是,多个形参之间需要使用逗号进行分隔,同时,方法的返回类型必须在方法名称之前进行声明。
实参:方法调用中的参数,等同于使用变量或常量
例如: 10 number
在Java方法中,实参是在方法调用时传递给方法的具体值或对象。
实参是实际传递给方法的数据或对象的值。在方法调用时,我们必须提供与方法声明中形参要求的类型和顺序相匹配的实参。
以下是实参的一些说明和示例:
public void printNumber(int num) {
System.out.println("The number is: " + num);
}
public static void main(String[] args) {
int value = 10;
MyClass obj = new MyClass();
obj.printNumber(value); // value 是实参,作为 printNumber 方法的参数传递
}
在上面的例子中,我们定义了一个 `printNumber` 方法,它有一个形参 `num`,接收一个整数。
在 `main` 方法中,我们定义了一个名为 `value` 的整数变量,并将其赋值为 10。
然后,我们将 `value` 作为实参传递给 `printNumber` 方法。
public void printPersonName(Person person) {
System.out.println("Name: " + person.getName());
}
public static void main(String[] args) {
Person obj = new Person("John");
MyClass myClass = new MyClass();
myClass.printPersonName(obj); // obj 是实参,作为 printPersonName 方法的参数传递
}
在上面的例子中,我们定义了一个 `printPersonName` 方法,它有一个形参 `person`,接收一个 `Person` 对象。
在 `main` 方法中,我们创建了一个名为 `obj` 的 `Person` 对象,然后将其作为实参传递给 `printPersonName` 方法。
需要注意的是,实参的类型和数量必须与方法声明中的形参相匹配,否则会引起编译错误。
方法不能嵌套定义
示例代码:
public class MethodDemo {
public static void main(String[] args) {
}
public static void methodOne() {
public static void methodTwo() {
// 这里会引发编译错误!!!
}
}
}
void表示无返回值,可以省略return,也可以单独的书写return,后面不加数据
示例代码:
public class MethodDemo {
public static void main(String[] args) {
}
public static void methodTwo() {
//return 100; 编译错误,因为没有具体返回值类型
return;
//System.out.println(100); return语句后面不能跟数据或代码
}
}
方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载
注意:
正确范例:
public class Method {
public static void fn(int a) {
//方法体
}
public static int fn(double a) {
//方法体
}
}
public class MethodDemo {
public static float fn(int a) {
//方法体
}
public static int fn(int a , int b) {
//方法体
}
}
错误范例:
public class Method {
public static void fn(int a) {
//方法体
}
public static int fn(int a) { /*错误原因:重载与返回值无关*/
//方法体
}
}
public class MethodDemo01 {
public static void fn(int a) {
//方法体
}
}
public class MethodDemo02 {
public static int fn(double a) { /*错误原因:这是两个类的两个fn方法*/
//方法体
}
}