2022/08/16_JAVA学习笔记3(对象数组的内存解析、方法的重载、递归方法、部分题目理解)

一、对象数组的内存解析

1、数组和对象都是引用类型的数据,所以变量值只可能是 null 或者 地址值

如有一个对象为学生(Student)

Student[] stus = new Student[5];  
Stus[0] = new Student;

此时 stus 存放一个地址,指向 5 个空值,执行第二行代码后第一个空值存放一个地址指向Student的初始对象。
借一张Super若离风大佬的图片。
在这里插入图片描述

2、举例

sout(Stus[0].number);
sout(Stus[1]);
sout(Stus[1].number);

输出第一行时,输出对象number的初始值;
输出第二行时,因为没有地址值,此时输出null;
输出第三行时,因为没有地址,此时找不到number会报出异常错误。

二、方法的重载

1、规则

在一个类中,允许存在多个同名方法,只要他们的方法参数个数不同或类型不同。
即同一类、同一方法名,不同参数列表。

此时对方法的覆写存在疑问。

三、递归方法

递归方法是函数的一种自调用

题目理解

1、什么是方法的重载

在同一个类,同一个方法名有不同的个参数列表即为方法的重载。

2、说明Java方法中的参数传递机制的具体表现

具体通过 值类型参数引用类型参数 分为两种参数传递方法,值类型参数 传递参数的值, 引用类型参数 传递参数的地址。

3、成员变量和局部变量在声明的位置上、是否有默认初始值上、是否能有权限修饰符修饰上、内存分布的位置上有何不同

成员变量:
声明在类中,方法体外
默认初始值:具有
可以使用权限修饰符修饰
单独分配内存
局部变量:
声明在方法体内
无默认初始值
不可以使用权限修饰符修饰
单独分配内存

4、谈谈return关键字的使用

① 结束方法
② 返回参数

5、提供如下代码的内存解析

猜你喜欢

转载自blog.csdn.net/ZHI_MO_WEN/article/details/126365270