Java_方法
Java_方法
方法定义、调用#
方法完整的定义形式、调用#
方法定义的完整格式
修饰符 返回值类型 方法名( 形参列表 ){ 方法体代码(需要执行的功能代码) return 返回值; }
方法的调用格式
public static int add ( int a , int b ){ int c = a + b; return c; } public static void main(String[] args){ int sum = add(10, 20); System.out.println(sum); }
方法的调用流程 - Debug
方法的其他定义形式、调用#
方法的其他写法
方法定义时:返回值类型、形参列表可以按照需求进行填写。
注意事项
- 如果方法不需要返回结果,返回值类型必须申明成void(无返回值), 此时方法内部不可以使用return返回数据。
- 方法如果没有参数,或者返回值类型申明为void可以称为无参数、无返回值的方法,依次类推。
方法使用的常见问题#
方法常见问题#
- 方法的编写顺序无所谓。
- 方法与方法之间是平级关系,不能嵌套定义。
- 方法的返回值类型为void(无返回值),方法内则不能使用return返回数据,如果方法的返回值类型写了具体类型,方法内部则必须使用return返回对应类型的数据。
- return语句下面,不能编写代码,因为永远执行不到,属于无效的代码。
- 方法不调用就不执行, 调用时必须严格匹配方法的参数情况。
- 有返回值的方法调用时可以选择定义变量接收结果,或者直接输出调用,甚至直接调用;无返回值方法的调用只能直接调用。
方法调用的内存图#
方法的调用流程 – 内存图解#
方法的参数传递机制#
Java的参数传递机制:值传递#
在传输实参给方法的形参的时候,并不是传输实参变量本身, 而是传输实参变量中存储的值,这就是值传递。
public class Test { public static void main(String[] args) { int a = 10; change(a); System.out.println(a); // 10 } public static void change(int a){ System.out.println(a); // 10 a = 20; System.out.println(a); // 20 } }
引用类型的参数传递#
public class Test { public static void main(String[] args) { int[] arrs = new int[]{10, 20, 30}; change(arrs); System.out.println(arrs[1]); // 222 } public static void change(int[] arrs){ System.out.println("方法内部2:"+arrs[1]); // 20 arrs[1] = 222; System.out.println("方法内部2:"+arrs[1]); // 222 } }
基本类型和引用类型的参数在传递的时候有什么不同?
都是值传递。
基本类型的参数传输存储的数据值。
引用类型的参数传输存储的地址值。
方法重载#
方法重载
同一个类中,出现多个方法名称相同,但是形参列表是不同的,那么这些方法就是重载方法。
public class Test { /**(1)默认发一枚武器。*/ public static void fire(){ System.out.println(“默认发射一枚武器给米国!"); } /** (2)可以指定地区发射一枚武器。 */ public static void fire(String location){ System.out.println("给"+location+"发射一枚武器!"); } /**(3)可以指定地区发射多枚武器。*/ public static void fire(String location , int nums){ System.out.println("给"+location+"发射"+nums+"枚武器!"); } }
方法重载的作用
可读性好,方法名称相同提示是同一类型的功能,通过形参不同实现功能差异化的选择,这是一种专业的代码设计。
方法重载的识别技巧
只要是同一个类中,方法名称相同、形参列表不同,那么他们就是重载的方法,其他都不管!
(如:修饰符,返回值类型都无所谓)
形参列表不同指的是:形参的个数、类型、顺序不同,不关心形参的名称。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理