Java方法02——方法的调用与重载
博观而约取,厚积而薄发。——苏轼《稼说送张琥》
★本篇笔记简介:0.补充解释-->1.方法调用——>2.方法重载
目录
0.补充解释
关于main方法:
public static void main(String[] args) { }
①修饰符 public 和 static
②返回 void 类型值
③方法名字是main
此外再加一个 String[] 类型参数。
其中String[] 表明参数是字符串数组。
1.方法调用
1.0预备知识
Java 支持两种调用方法的方式
当程序调用一个方法时,程序就会暂时交给方法控制。
为什么说是暂时?
因为一下两点:
①被调用方法的返回语句执行
②到达方法体闭括号时候
此时控制权就又给了程序。
1.1两种方法调用
①当方法返回一个值的时候,方法调用通常被当做一个值。例如:
int larger = max(30, 40);
②对象名.方法名(实参列表)
★如果方法返回值是void,方法调用一定是一条语句。例如,方法println返回void。
方法调用是一条语句,如下:
System.out.println("Hello,yueliusu!");
1.2实例助解
比较两个整数,求出两个数中的最大值。
public static void main(String[] args) { int a = 10; int b = 20; int c = max(a, b); System.out.println( a + " 和 " + b + " 比较,最大值是:" + c); } // max方法:返回两个数中的较大值 public static int max(int num1, int num2) { int result; if (num1 > num2) result = num1; else result = num2; return result; }
输出演示,如图
:
☆这个程序包含 main 方法和 max 方法。main 方法是被 JVM 调用的,除了这点,main与其他方法无异。★JAVA中只有值传递
2.方法的重载
2.0预备知识
经调用发现,上面max方法只适用于int型数据的比较。
但如果比较两个浮点类型、字符类型数据呢?
解决方法:
创建另一个有相同名字但参数不同的方法
2.1实例助解
比较两个浮点数,求出两个数中的最大值。
public static void main(String[] args) { //int a = 10; //int b = 20; double a = 10.0; double b = 20.0; //int c = max(a, b); double c = max(a,b); System.out.println( a + " 和 " + b + " 比较,最大值是:" + c); } // max方法:返回两个数中的较大值 public static int max(int num1, int num2) { int result; if (num1 > num2) result = num1; else result = num2; return result; } public static double max(double num1, double num2) { if (num1 > num2) return num1; else return num2; }
输出演示,如图
:
2.2补充说明
①如果你调用max方法时传递的是int型参数,则 int型参数的max方法就会被调用;如果是double型参数,则double类型的max方法体会被调用,这叫做方法重载;
方法重载也可以这样理解,一个类的两个方法拥有相同的名字,但是有不同的参数列表。
②Java编译器根据方法签名判断哪个方法应该被调用。
方法签名:方法的签名,来区分不同方法的标识符。
③重载的方法必须拥有不同的参数列表。
不能只依据修饰符或者返回类型的不同来进行方法重载的实现。
作者:Code_流苏(一个喜欢古诗词和编程的Coder😊)
★喜欢的话,还请多多点赞与关注! 感谢支持!
笔记更新随个人学习进度而进行,欢迎评论交流学习!