Boolean false
Char '\u0000'(null)
byte (byte)0
short (short)0
int 0
long 0L
float 0.0f
double 0.0d
上面的在类里面就会对应墨认为右边的值
但是如果在类函数里面是不是生成一个随机值?TIJ是这么说的
我理解对不对??

解决方案 »

  1.   

    class A{
     int i;
     private void s(){System.out.println(i);}//i用默认的0
    }class B{
     int i;
     private void s(){int ii;System.out.println(ii);}//没有初始化ii
    }随机是不可能的!
      

  2.   

    一旦将变量作为类成员使用,就要特别注意由Java分配的默认值。这样做可保证主类型的成员变量肯定得到了初始化(C++不具备这一功能),可有效遏止多种相关的编程错误。
    然而,这种保证却并不适用于“局部”变量——那些变量并非一个类的字段。所以,假若在一个函数定义中写入下述代码:
    int x;
    那么x会得到一些随机值(这与C和C++是一样的),不会自动初始化成零。我们责任是在正式使用x前分配一个适当的值。如果忘记,就会得到一条编译期错误,告诉我们变量可能尚未初始化。这种处理正是Java优于C++的表现之一。许多C++编译器会对变量未初始化发出警告,但在Java里却是错误。