当前位置: 代码迷 >> J2SE >> JAVA 关于静态变量的填空题解决思路
  详细解决方案

JAVA 关于静态变量的填空题解决思路

热度:20   发布时间:2016-04-23 19:39:23.0
JAVA 关于静态变量的填空题
下图程序中
答案的意思是
(1)如果空5填了Employee的话,那么空6只能填payRoll.employee
(2)如果空5填了static Employee的话,那么空6可以填employees,

这里的答案组合(1)中,为什么空5填了Employee(即不是静态变量),那么后面的空6只能填payRoll.employee呢?
我的理解是,空5即便没有加static说明,但是后面空6的前面已经创建了一个payRoll实例了,所以这时候就已经有employee[]数组存在了,空6在调用employee的时候就没必要加上payRoll了。
麻烦帮忙看看,谢谢。





------解决思路----------------------
分清楚类和对象的区别,外围只是一种结构而已,没有实际分配内存。加载类时会初始化类的静态变量。非静态变量要在生成对象后才分配空间。类的加载很多方式,自定义的类一般在第一次使用时就会加载。所以只要你提到类名就会使静态变量初始化。而非静态的可以理解为专有的,所以必须要在具体对象中分配。因此你必须要用引用来说明具体是哪个对象的哪个值
------解决思路----------------------
静态不能饮用非静态
  相关解决方案