对于所有变量:
根据定义的位置不同,把类分为成员变量(在类里定义的变量)和局部变量(在方法里定义的)。
成员变量:
被分为 类变量(static)和实例变量(木有static)。 有static则为类变量,没有就是实例变量。
局部变量:
被分为形参(在方法签名中定义),方法局部变量(在方法中定义),代码块局部变量(在代码块中定义)
关于存在:
成员变量
类变量:从类的准备阶段到类被销毁,一直存在。简记:类在则类变量在,类over则类变量over
实例变量:实例变量相似。实例在则实例变量在,实例被灭则实例变量拜拜
局部变量
形参:形参的作用于在整个方法内有效
方法局部变量:从定义该变量的地方生效,从方法结束时over
代码块局部变量:从定义该变量的地方生效,从代码块结束时over
关于调用:
可以 类.类变量
实例.实例变量
实例.类变量
关于覆盖:
若同名,局部变量可以覆盖成员变量。
若需引用被覆盖的成员变量,可用this.变量名(对于实例变量)和类名.变量名(对于类变量)
关于同名
一个类中不能定义两个同名的成员变量
一个方法中不能定义两个同名的方法局部变量,方法局部变量与形参也不能同名
同一个方法中 不同代码块内的 代码块局部变量可以同名