【Java SE】方法

发布时间:2024年01月01日

🥰🥰🥰来都来了,不妨点个关注叭!
👉博客主页:欢迎各位大佬!👈

在这里插入图片描述
嘿嘿!本期内容主要介绍方法的使用,如何传参,以及方法的重载,方法可是很有帮助的哦,我们一起来看看本期内容吧

1. 五大内存

Java运行程序时,内存是如何分配的呢?看看下面的这张图,就可以了解啦!
在这里插入图片描述
接下来的学习中,我们需根据代码画内存图,帮助理解,现在就先了解到内存啦,牢记五大内存,同时可以查看得知,方法区也在栈上的这一概念,先简单介绍哪些部分放在哪块内存上,如:
局部变量—>栈
对象—>堆

2. 方法的使用

2.1 为什么需要方法

1)减少重复性工作!!!
2)使代码更好理解更简单
3)可直接调用现有方法开发,不必重复造轮子

2.2 方法的定义

修饰符 返回值类型 方法名称([参数类型 形参 ...]){
 方法体代码;
 [return 返回值];
}

举个例子吧~定义一个两个数相加的方法

public class Method1{
 public static int add(int x, int y) {
 return x + y;
   }
 }

这就是简单的一个方法啦!根据自己的需求定义属于自己的“方法” 吧~快自己动手也试试
【注意事项】
1) 修饰符:现阶段直接使用public static 固定搭配(以后会详细讲解)
2) 返回值类型:返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写void
3) 方法名字:采用小驼峰命名
4) 参数列表:如果方法没有参数,括号中什么都不写,如果有参数,需指定参数类型,多个参数之间使用逗号隔开
5) 方法体:方法内部要执行的代码语句
6) 在java当中,方法必须写在类当中,方法不能嵌套定义,且没有方法声明这一个说法
即方法使用的步骤:
在这里插入图片描述

2.3 方法调用执行过程

方法调用执行过程,如下:
在这里插入图片描述
【注意事项】
(1)定义方法的时候,不会执行方法的代码, 只有调用的时候才会执行,即方法的定义是定义,如果执行方法里的内容,必须要调用!
(2)一个方法可以被多次调用
总结:
1)方法调用是在栈上
2)方法遇到return或者右花括号代表当前方法结束,对应方法开辟的栈帧就被回收了

2.4 实参与形参的关系

在这里插入图片描述
举个例子~ 下面代码说明:1,2为实参,传给形参x,y

public class TestMethod {
 public static int add(int x, int y) {
 return x + y;
  }
 public static void main(String[] args) {
 add(1, 2);                
 }
 }

【注意】:在Java中,实参的值永远都是拷贝到形参中,形参和实参本质是两个实体。
以下为交换2个整数的代码:

public class TestMethod {
 public static void main(String[] args) {
 int a = 10;
 int b = 20;
 swap(a, b);
 System.out.println(" a = " + a + " b = " + b);
 }
 
 public static void swap(int x, int y) {
	 int tmp = x;
 	 x = y;
	 y = tmp;
        System.out.println(" x = " + x + " y = " + y);
 }
}
// 运行结果
swap: x = 20 y = 10
main: a = 10 b = 20

结果:swap方法中的x、y的值交换了,但是main中的并没有交换
以下为上述代码运行内存图:
在这里插入图片描述

原因:通过上述图可得,实参a和b与形参x和y是两个没有任何关联性的变量,在swap方法调用时,只是将实参a和b中的值拷贝了一份传递给形参x和y,因此对形参x和y操作不会对实参a和b产生任何影响

3. 方法重载

3.1 为什么有方法重载

我认为核心的思想为:节约

3.2 方法重载条件

1)方法名称相同
2)方法的参数列表不同(顺序、个数、类型)
3)与返回值无关
以上三个条件构成重载

3.3 方法重载应用

public class TestMethod {
 public static int add(int x, int y) {
 return x + y; //两个整数相加
  }
   public static int add(int x, int y,int z) {
 	return x + y + z; // 三个整数相加
  }
   public static double add(double x, double y,double z) {
 	return x + y + z; // 三个浮点数相加
  }
 public static void main(String[] args) {
 add(1, 2);                
 add(1,2,3); 
 add(1.5,2.3,4.5);  
 }
 }

本期内容到这里啦!相信各位对方法的使用有一个更深刻的了解,接下来,我们也会经常使用它哦,继续一起加油叭~~~

文章来源:https://blog.csdn.net/m0_61814277/article/details/135231198
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。