一些容易混淆的概念,此文动态更新
时间:2022-05-11 13:00
- 局部变量与成员变量
- 定义的位置不一样
- 局部变量定义在方法的内部
- 成员变量定义在方法的外部,直接定义在类中
- 作用范围不一样
- 局部变量只有在方法当中才可以使用,出了方法就不能使用了
- 成员变量整个类都可以通用
- 默认值不一样
- 局部变量没有默认值,如果像被使用,必须手动进行赋值
- 成员变量有默认值,默认值的规则与数组一样
- 整数类型:0
- 浮点数类型:0.0
- 字符类型:‘\u0000‘
- 布尔类型:false
- 引用类型:null
- 在内存中的位置不一样
- 局部变量位于栈内存中
- 成员变量位于堆内存
- 声明周期不一样
- 局部变量随着方法进栈而诞生,随着方法出栈而消失
- 成员变量随着对象的创建而诞生,随着对象被垃圾回收而消失
- 重写与重载
- 重载,Overload,方法的名称一样,参数列表不一样
- 在同一个类中
- 方法名相同,参数列表不同(参数顺序、个数、类型)
- 方法返回值、访问修饰符任意
- 与方法的参数名无关
- 重写,Override,方法的名称一样,参数列表也不一样。也叫覆盖、覆写
- 有继承关系的子类中
- 方法名相同,参数列表相同(参数顺序、个数、类型),方法返回值相同
- 访问修饰符,访问范围需要大于等于父类的访问范围
- 与方法的参数名无关