成员变量
也叫全局变量,能够描述一个类的属性,与局部变量对立。
- 成员变量在类中,类方法外
- 局部变量一般在方法中,循环体中等
静态变量
用 static 修饰的的变量是静态变量,静态变量的内容可以被所有对象共享,能全局使用
Student.java
public class Student {
private int id;
public static String name="Bob"; //静态变量
public static int age; //静态变量
}
Fun.java
public class Fun {
public static void main(String agrs[]){
Student student = new Student();
System.out.println(student.name); //注意是student
System.out.println(Student.name); //注意是Student,能全局使用
System.out.println(Student.age);
System.out.println(Student.id); //会报错
}
}
输出
Bob Bob 0
成员变量和静态变量区别
-
生命周期
- 成员变量随着对象的创建而存在
- 静态变量随着类加载而存在
-
初始值的区别。成员变量没有初始值,静态变量有初始值
- int 类型初始值为0;String 类型初始值为 null
-
调用方式
- 成员变量的调用,要先实例化一个对象。
对象.变量 - 静态变量的调用
类.变量 -
数据存储位置
- 成员变量存储在堆内存的对象中,所以也叫对象的特有数据。
- 静态变量数据存储在方法区(共享数据去区)的静态区,所以也叫对象的共享数据
|