方法的基本属性
方法的定义
- Java的方法类似于其他语言的 函数 ,是一段用来完成特定功能的代码片段。
- 方法存在于 类 或者 对象 之中。
- 方法在程序中被创建,在其他地方被引用。
- 方法设计的原则:保持 方法的原子性 ,即一个方法只完成1个功能。这有利于后期扩展。
eg:public static void main
① public;static为 修饰符 表明方法的属性。
② void 是返回值类型。
③ main 是 方法名称(其包括隐藏的形参列表)
方法组成的语法
一般情况下,定义一个方法包含以下语法:
方法包含一个 方法头 和一个 方法体 。
- 修饰符:(此为可选项)告诉编译器如何调用该方法,定义了该方法的使用类型。eg:(public;static 等,修饰符位置可任意调换)
-
返回值类型:方法可能会返回 值 。returnValueType 是方法返回值的数据类型。
有些方法执行所需的操作,返回一个语句,此时,returnValueType 是关键字 void。 - 方法名:是方法的实际名称,方法名 和 参数表 共同构成方法签名。
-
参数类型:即形参。当方法被调用时,传递值给参数,这个值被称为 实参 或者变量,
参数列表是指方法的 参数类型 , 顺序 和 参数个数 。参数是可选的,方法可以不包括任何参数。
① 形式参数:在方法被调用时用于接收外界输入的数据。
② 实参:调用方法时实际传递给方法的数据。 - 方法体:方法体包含具体的语句,定义该方法的功能。
方法的调用
- 调用方法:对象名.方法名(实参列表)
- Java支持两种调用方法的方式,①返回值;②返回语句。
1)当方法返回一个值的时候,方法调用通常被当作一个值。如:int larger = max(30,40);
2)如果方法的返回值是void,方法调用一定是一条语句。System.out.println("Hello World!");
值传递 和 引用传递。###
(1)值传递(Java)
(2)引用传递
方法重载
重载的定义
重载 就是在一个类中,有相同的函数名称,但形参不同的函数。
重载的规则
方法名称必须相同。
参数列表必须不同(如个数不同,类型不同,参数排列顺序不同等)
方法的返回类型可以相同也可以不同。
仅仅返回类型不同不足以成为方法重载。
实现理论
方法名称相同时,编译器会根据调用方法的 参数个数 , 参数类型 等去逐个匹配,
以此选择对应的方法,如果匹配失败,则编译器报错。
代码示例:
public class Demo01 {
//main 方法
public static void main(String[] args) {
int max = max(10,20);
System.out.println(max);
double max1 = max(10,20);
System.out.println(max1);
}
//比大小 int 类型。
public static int max(int num1,int num2){
int result = 0;
if (num1 == num2){
System.out.println("num1 == num2");
return 0; //return用于终止方法
}
if (num1 > num2){
result = num1;
}
if (num2 > num1){
result = num2;
}
return result;
}
//比大小 方法重载 double类型
public static double max(double num1,double num2){
double result = 0;
if (num1 == num2){
System.out.println("num1 == num2");
return 0; //return用于终止方法
}
if (num1 > num2){
result = num1;
}
if (num2 > num1){
result = num2;
}
return result;
}
}
输出结果如下:
可以看见,调用的方法名相同,
但为重载方法,因而输出的数据类型不同。
命令行传参
使用命令行和 main()方法 传递参数。
(1)在 method包 中调用 cmd 编译类方法 并运行编译结果(java文件)。
发现无法运行编译结果。如图:
(2)后退到scr文件中(使用cd ../),执行所编译的文件。
注意此时要补全路径。
可以看见,执行顺利,但是无输出,因为没有输入参数。
(3)赋予 main()方法参数:“this is zfy"