0416_宋红康笔记
分类:
文章
•
2024-08-25 19:53:40
- 方法重载:方法名一样,参数列表不一样(修饰符、返回值类型一不一样不作为判断标准)
- 自动类型提升:byte、short、char—>int; 如果有一个操作数是long(<float<double)类型,就将整个表达式提升为long(<float<double)类型
- 可变个数形参:
格式:数据类型…变量名;定义:调用该方法时,传入参数个数可以是任意个;
可变个数形参的方法与本类中方法名相同、参数类型相同但形参个数不同的方法构成重载;
但是与与本类中方法名相同形参类型也相同,但参数为数组的方法不构成重载(因为其含义等同于数组);
可变形参在方法的形参中,必须声明在末尾;
- 关于变量的赋值
如果变量是基本数据类型,此时赋值的是变量所保存的数据值,此后若改变被赋值对象的值,赋值对象的值不变。
如果变量是引用数据类型,此时赋值的是变量所保存的地址值,此后若改变被赋值对象的值,赋值对象的值改变。
- 方法的形参传递机制
形参:方法定义时,声明的小括号内的参数
实参:方法调用时,实际传递给形参的值
值传递机制:
如果参数是基本数据类型,此时实参赋给形参的是 实参真实存储的数据值。
如果参数是引用数据类型,此时实参赋给形参的是 实参存储数据的地址值。
所以在方法中要想让方法起作用,要将值封装在类中,通过类的属性实现方法
- 递归退出条件是最小值等于多少的时候
- 分析代码块内存解析的时候要注意的两点:
- 内存结构:栈(局部变量)、堆(new出来的结构:对象(非static成员变量)、数组)
- 变量:成员变量 vs 局部变量(方法内、方法形参、构造器内、构造器形参、代码块内)
- 成员变量可以不用初始化,其具有默认值;但是局部变量一定需要初始化或者赋值后才能使用,否则编译报错。