11.编译下列代码可能会输出什么?
class Test {
static int i ;
public static void main(String args[]) {
System.out.println(i);
}
}
A. Error Variable i may not have been initialized
B. null
C. 1
D. 0
java基础面试题-中级20题答案解析版
正确答案是:D
被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在它的任何对象创建之前访问,无需引用任何对象。
package com.songxinfeng;
class Test {
static int i ;
public static void main(String args[]) {
System.out.println(i);
}
}