java中类变量和实例变量的区别

Talk is cheap,Show me the code.

public class Variable {
    private static int a = 10; //类变量,用static修饰
    private int a1 = 10;       //实例变量,不用static修饰

    public static void main(String[] args) {
        //对象1
        Variable e1 = new Variable();
        e1.a = 20;
        e1.a1 = 21;
        System.out.println("类变量a:" +e1.a);
        System.out.println("实例变量a1:"+e1.a1);
        //对象2
        Variable e2 = new Variable();
        System.out.println("类变量a:"+e2.a);
        System.out.println("实例变量a1:"+e2.a1);
    }
}
类变量a:20
实例变量a1:21
类变量a:20
实例变量a1:10

类变量(静态变量):

  • 在类中用static修饰
  • 无论一个类创建了多少个对象,类只拥有类变量的一份拷贝
  • 在第一个被访问时创建,在程序结束时销毁

实例变量:

  • 在类中不用static修饰
  • 当一个对象被实例化之后,每个实例变量的值就跟着确定
  • 实例变量在对象创建的时候创建,在对象被销毁的时候销毁

一句话总结:类变量作用于类,实例变量作用于对象中。

发布了15 篇原创文章 · 获赞 3 · 访问量 6291

猜你喜欢

转载自blog.csdn.net/bigdalao/article/details/104153830