创建一个类,他包含一个int域和一个char域,他们都没有被初始化,将他们的值打印出来,以验证java执行了默认初始化class Demo1 {
int x;
char c;

}
public class Demo{
public static void main(String [] args){
Demo1 x = new Demo1();
Demo1 c = new Demo1();
System.out.println(x);
System.out.println(c);
}
}
结果:
Demo1@c17164
Demo1@1fb8ee3int的默认值不是0吗?

解决方案 »

  1.   

    正确的程序应该是这样的:
    class Demo1 {
        int x;
        char c;}
    public class Demo{
        public static void main(String [] args){
            Demo1 d1 = new Demo1();
            Demo1 d2 = new Demo1();
            System.out.println(d1.x);
            System.out.println(d2.c);
        }
    }
      

  2.   


    public class Demo{
    public static void main(String [] args){
    int c;
    int x;
    System.out.println(x);
    System.out.println(c);
    }
    }
    这样提示Exception in thread "main" java.lang.Error: 无法解析的编译问题:
    局部变量 x 可能尚未初始化
    局部变量 c 可能尚未初始化 at Demo.main(Demo.java:6)