题目
简述类变量和实例变量的区别。
简述类变量和实例变量的区别。
题目解答
答案
一个类通过使用new运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间。所有对象的类变量都分配给相同的一处内存,对象共享类变量。
解析
考查要点:本题主要考查对面向对象编程中类变量与实例变量核心概念的理解,以及两者在内存分配和共享机制上的区别。
解题思路:
- 明确概念:类变量是属于类的共享成员,所有实例共享同一内存空间;实例变量是属于对象的独立成员,每个实例有独立内存。
- 关键对比点:从内存分配位置、共享特性、生命周期等角度展开分析。
类变量的特点
- 内存分配:类变量在类加载时分配内存,所有通过
new创建的对象共享同一块内存空间。 - 共享特性:所有对象对类变量的修改会直接影响其他对象的读取结果。
- 生命周期:类变量的生命周期与类的加载周期一致,直到程序结束。
实例变量的特点
- 内存分配:每个对象通过
new创建时,系统为其分配独立的内存空间存储实例变量。 - 独立性:不同对象的实例变量互不影响,修改一个对象的实例变量不会改变其他对象的值。
- 生命周期:实例变量的生命周期与对象的存活周期一致,对象被垃圾回收时内存释放。
核心区别总结
- 内存共享:类变量共享,实例变量独立。
- 作用范围:类变量属于类,实例变量属于具体对象。