2022-01-04学习心得
2022-01-04每日一考
每天找至少5道Java相关的题目,首先自己回答一遍,再看标准答案,自己写漏或者写错的知识点标红,之后着重复习,每隔一段时间汇总错题。
1. 什么是方法的重载?
同一类中方法名相同,形参不同的方法之间构成重载。
同一个类、相同方法名;参数列表不同。
如何调用确定的方法:方法名→参数列表
2. 说明Java方法中的参数传递机制的具体体现?
Java方法中的参数是按值传递的,例如在栈空间中,当参数是基本数据类型时,传递的是基本数据类型的值,参数是引用数据类型时,传递的是在堆空间中的地址值。
Person p1 = new Person(); eat();age User u1 = p1;//编译错误 (逆向思维、反证法) u1.eat() u1.age
3. 成员变量和局部变量在声明的位置上、是否有默认初始化值上、是否能有权限修饰符修饰上、内存分配的位置上有何不同?
成员变量声明在类中,局部变量声明在方法体中;成员变量和局部变量都有默认初始化值;成员变量分配在栈空间中,局部变量分配在堆空间中。
4. 谈谈return关键字的使用
在带有返回值类型的方法中使用,表示返回该类型的值。
① 结束方法 ② 针对于有返回值的方法,return + 返回数据
5. 提供如下代码的内存解析
1. 内存结构:栈(局部变量)、堆(new出来的结构:对象(非static成员变量)、数组)
2. 变量:成员变量 vs 局部变量(方法内、方法形参、构造器内、构造器形参、代码块内)