目录
方法的重载
概念:
练习
方法的内存
基础知识
Java内存分配
方法调用的基本内存原理
基本数据类型
引用数据类型
方法的值传递与引用传递
值传递
引用传递
方法的重载 概念:
方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载
* 多个方法在同一个类中
* 多个方法具有相同的方法名
* 多个方法的参数不相同,类型不同或者数量不同
简单来说就是:1.同一个类中 2.方法名相同 3.参数不同。与返回值无关
其中参数不同可能是:数量不同、类型不同、顺序不同【虽然顺序不同可以构成重载关系,但是不建议!!】
方法的重载体现了方法中实参与形参一一对应的特点,即数量相同,类型相同
练习使用方法重载的思想,设计比较两个整数是否相同的方法,兼容全整数类型(byte,short,int,long)
public class MethodTest {
public static void main(String[] args) {
//调用方法
System.out.println(compare(10, 20));//调用int方法
System.out.println(compare((byte) 10, (byte) 20));//调用byte方法
System.out.println(compare((short) 10, (short) 20));//调用short方法
System.out.println(compare(10L, 20L));//调用longlong方法
}
//int
public static boolean compare(int a, int b) {
System.out.println("int");
return a == b;
}
//byte
public static boolean compare(byte a, byte b) {
System.out.println("byte");
return a == b;
}
//short
public static boolean compare(short a, short b) {
System.out.println("short");
return a == b;
}
//long
public static boolean compare(long a, long b) {
System.out.println("long");
return a == b;
}
}
方法的内存
基础知识
Java内存分配
栈:方法运行时使用的内存,方法被调用进栈运行
堆:new出来的,都在堆内存中开辟了一个小空间,堆里有地址
方法调用的基本内存原理多个方法:主方法main,方法1,方法2,调用时依次进栈
方法2运算结束后出栈,再依次执行方法1,主方法运行后出栈
基本数据类型
整数类型
浮点数类型
布尔类型
字符类型
变量中存储的是真正的数据
特点:数据值是存储在自己的空间中,赋值给其他变量,也是赋的真实的值
引用数据类型除了基本数据类型之外的数据类型
只要是new出来的都是引用数据类型,例如数组
如图,arr存储的不是具体的数据,而是存储的地址值
所以说:
- 变量中存储的是地址值
- 引用指的是:使用了其他空间的数据
特点:数据值是存储在其他空间中,自己空间中存储的是地址值,赋值给其他变量,赋的是地址值
方法的值传递与引用传递 值传递传递基本数据类型时,传递的是真实的数据,形参的改变,不影响实际参数的值
没有new,由此判断是基本数据类型,单纯的值传递在change方法中对number的 *** 作不会影响main方法中的number(变量是有作用范围的,只能在所属范围内有效)
引用传递传递引用数据类型时,传递的是地址值,形参的改变,影响实际参数的值
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)