类变量和实例变量有什么本质区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1185个文字,预计阅读时间需要5分钟。
静态变量也称为静态变量,即变量前加了static关键字;实例变量也称为对象变量,即没有加static的变量。区别在于:
- 静态变量属于类,所有实例共享;- 实例变量属于对象,每个对象都有自己的实例变量副本。
具体区别如下:
- 静态变量是所有对象共享的,而实例变量是每个对象独立的;- 静态变量在类加载时就分配了内存,而实例变量在对象创建时分配内存;- 静态变量在类加载时就初始化了,而实例变量在对象创建时初始化。
类变量也叫静态变量,也就是在变量前加了static 的变量;实例变量也叫对象变量,即没加static 的变量;区别在于: 类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;例:
public class A{ static int a = 0; //类变量 private int b = 0; //实力变量} public class B{ public void main (String[] args){ A a1 = new A(); A a2 = new A(); a1.a = 3; // 等同于 A.a = 3; a1.b = 4 ; System.out.println(a2.a); //结果为3 //类变量是针对所有对象的,所以a1改变a,a2的a也改变 System.out.println(a2.b); //结果为0 //实例只改变自身的,所以a1对象的b改变,不影响对象a2的b变量 } }类变量又叫静态成员变量,它不需要创建对象就可以已经在内存中存在了。
本文共计1185个文字,预计阅读时间需要5分钟。
静态变量也称为静态变量,即变量前加了static关键字;实例变量也称为对象变量,即没有加static的变量。区别在于:
- 静态变量属于类,所有实例共享;- 实例变量属于对象,每个对象都有自己的实例变量副本。
具体区别如下:
- 静态变量是所有对象共享的,而实例变量是每个对象独立的;- 静态变量在类加载时就分配了内存,而实例变量在对象创建时分配内存;- 静态变量在类加载时就初始化了,而实例变量在对象创建时初始化。
类变量也叫静态变量,也就是在变量前加了static 的变量;实例变量也叫对象变量,即没加static 的变量;区别在于: 类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;例:
public class A{ static int a = 0; //类变量 private int b = 0; //实力变量} public class B{ public void main (String[] args){ A a1 = new A(); A a2 = new A(); a1.a = 3; // 等同于 A.a = 3; a1.b = 4 ; System.out.println(a2.a); //结果为3 //类变量是针对所有对象的,所以a1改变a,a2的a也改变 System.out.println(a2.b); //结果为0 //实例只改变自身的,所以a1对象的b改变,不影响对象a2的b变量 } }类变量又叫静态成员变量,它不需要创建对象就可以已经在内存中存在了。

