日期:2014-05-20  浏览次数:20640 次

关于类的一个简单的课后题
public class Person{
  static int arr[]=new int[10];
  public static void main(String a[]) {
  System.out.println(arr[1]);
  }
}
这个程序好像是错的,答案却给个输出为“0”。
大家看看错几处 ?在哪里?怎么改?
新手 大家莫笑…………

------解决方案--------------------
这个我知道,
 static int arr[]=new int[10]; 这是它创建了一个数组 ,
而这里是属性行,
属性行可以不用初始化,系统会自动帮你初始化的
------解决方案--------------------
public class Person{
static int arr[]=new int[10];
public static void main(String a[]) {
System.out.println(arr[1]);
}
}

类的静态变量 static int arr[]=new int[10];
 在类加载时 分配内存空间 ,并且初始化为它定义的类型的默认值 ;

int --> 0 
{0,0,0,0,0,0,0,0,0,0} ;

------解决方案--------------------
static int arr[]=new int[10];
------------------------------

static int[] arr=new int[10];

------解决方案--------------------
没错误,输出的是int类型的默认值0.