1 三种变量(成员变量,本地变量,类变量)
变量类型 | 定义 | 作用范围 | 生命周期 |
---|---|---|---|
成员变量(实例变量,属性) | 成员变量就是类中的属性。当 new 对象的时候,每个对象都有一份属性。一个对象中的属性就是成员变量。 | 在类内部,任何地方都可以访问成员变量。 | 出生: new 对象的时候,开辟内存空间。死亡: 堆内存地址没有引用,变成垃圾,被垃圾回收器回收后。 |
局部变量(本地变量) | 方法的形式参数以及在方法中定义的变量。 | 形参:在方法体中任何位置都可以访问。方法中定义变量:从定义处开始,直到所在代码块结束。 | 出生:运行到创建变量的语句时。死亡:超过了其作用范围。 |
类变量(静态属性) | 被 static 修饰的属性。 | 在类变量定义之后。 | 出生:类加载时,类变量就分配内存空间。死亡:JVM 退出 |
2 Java 中属性和字段
(1)属性
Java 中的属性,通常可以理解为 get 和 set 方法。而字段,通常叫做“类成员”。 这两个概念是完全不同的。 属性只局限于类中方法的声明,并不与类中其他成员相关。例如:void setA(String s){}String getA(){}
当一个类中拥有这样一对方法时,我们可以说,这个类中拥有一个可读写的 a 属性。如果去掉了 set 的方法,则是可读属性,反之亦然。
(2)字段
类成员(字段),通常是在类中定义的类成员变量,例如:public class A{private String s = "123";}
我们可以说A类中有一个成员变量叫做 s。