0416_宋红康笔记

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