目录
1.方法重载
1.1 方法重载
-
方法重载概念
方法重载指同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载
- 多个方法在同一个类中
- 多个方法具有相同的方法名
- 多个方法的参数不相同,类型不同或者数量不同
-
注意:
- 重载仅对应方法的定义,与方法的调用无关,调用方式参照标准格式
- 重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判定两个方法是否相互构成重载
2.方法内存
2.1方法调用的的基本内存原理
2.1.1java虚拟机内粗存分配
- 栈 : 方法运行时使用的内存,方法进栈运行,运行完毕就出栈。
- 堆 : new出来的,就在堆内存当中开辟了一个小空间。
- 方法区 : 存储可运行的class文件。
- 本地方法栈:JVM在使用系统操作系统功能的时候使用,和我们的开发无关
- 寄存器:给cpu使用,和和我们开发无关。
2.1.2方法调用的基本内存原理
- 方法 没有被调用 的时候,在 方法区中的字节码文件中存放
- 方法 被调用 的时候,会进入到 栈内存 中运行
- 打个比方: 就像手枪,弹夹里面的子弹就相当于是方法,当你子弹上膛打出去的时候,就相当于调用方法了。(图例详解)
2.2方法传递基本数据类型的内存原理
2.2.1基本数据类型和引用数据类型
- 基本数据类型 :整数类型, 浮点类型, 布尔类型 ,字符类型 。
- 引用数据类型 :除了基本类型就是引用数据类型。
- 例题
运行结果:
可以看到num值未发生改变。 - 基本数据类型:数据值是存在自己的空间中的
特点:赋值给其他变量,也是赋的真实值。
2.3方法传递引用数据类型的内存原理
- 例题
运行结果:
- 引用数据类型:数据是存储在其他空间中,自己空间中存储的是地址值(例:数组)。