🥰🥰🥰来都来了,不妨点个关注叭!
👉博客主页:欢迎各位大佬!👈
嘿嘿!本期内容主要介绍方法的使用,如何传参,以及方法的重载,方法可是很有帮助的哦,我们一起来看看本期内容吧
Java运行程序时,内存是如何分配的呢?看看下面的这张图,就可以了解啦!
接下来的学习中,我们需根据代码画内存图,帮助理解,现在就先了解到内存啦,牢记五大内存,同时可以查看得知,方法区也在栈上的这一概念,先简单介绍哪些部分放在哪块内存上,如:
局部变量—>栈
对象—>堆
1)减少重复性工作!!!
2)使代码更好理解更简单
3)可直接调用现有方法开发,不必重复造轮子
修饰符 返回值类型 方法名称([参数类型 形参 ...]){
方法体代码;
[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当中,方法必须写在类当中,方法不能嵌套定义,且没有方法声明这一个说法
即方法使用的步骤:
方法调用执行过程,如下:
【注意事项】
(1)定义方法的时候,不会执行方法的代码, 只有调用的时候才会执行,即方法的定义是定义,如果执行方法里的内容,必须要调用!
(2)一个方法可以被多次调用
总结:
1)方法调用是在栈上
2)方法遇到return或者右花括号代表当前方法结束,对应方法开辟的栈帧就被回收了
举个例子~ 下面代码说明: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产生任何影响
我认为核心的思想为:节约
1)方法名称相同
2)方法的参数列表不同(顺序、个数、类型)
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);
}
}
本期内容到这里啦!相信各位对方法的使用有一个更深刻的了解,接下来,我们也会经常使用它哦,继续一起加油叭~~~