Java是一种面向对象的编程语言,其中类变量和实例变量是面向对象编程的重要特性。
类变量,也称为静态变量,是定义在类级别的变量,与任何一个类的实例无关,只有一份,即使实例化了多个对象,这个变量也始终保持其原有的值。
public class Example { static int num = 0; public Example() { num++; } }
在上面的代码中,num是静态变量,也就是类变量。每次创建Example对象时,都会将num的值加1。由于num是静态变量,所以无论创建了多少个Example对象,num的值都只有一份。
实例变量,也称为非静态变量,与类的每个实例相关联,每个对象都有自己的一份副本。在创建一个对象时,实例变量才会被创建和初始化。
public class Example { int num = 0; public Example() { num++; } }
在上面的代码中,num是实例变量。每次创建Example对象时,都会创建一个新的num实例变量。由于每个对象都有自己的一份num,所以当用一个Example对象对num进行修改时,不会影响其他Example对象的num值。
总之,类变量和实例变量都是面向对象编程中重要的概念。类变量在内存中只会存在一份,与类相关,无论创建多少个实例,只有这一份;而实例变量则是每个实例都会拥有一份,与实例相关,互不影响。