public class Test {
static final int[] a=new int[5];
public static void main(String[] args){
a[1]=5;
System.out.println(a[1]);
}
}
//这样没有错误,但是下面就会出错了。。
public class Test4 {
static final int[] a=new int[5];
a[1]=5;
public static void main(String[] args){
System.out.println(a[1]);
}
}
//为什么在main方法里面就可以对a数组赋值??
[quote]
就是不明白为什么成员变量再赋值要放到方法体里?
[/quote]
因为java是面向对象语言 不是面向过程
类 = 属性 + 方法
类初始化就通过静态变量或者构造函数赋值 然后通过函数执行
[quote]a[1]=5; [/quote]
这个操作应该放在方法体里去执行。
[quote][code="java"]
public class Test4 {
static final int[] a=new int[5];
a[1]=5;
public static void main(String[] args){
System.out.println(a[1]);
}
}
[/code][/quote]
这个样子编译都通不过吧……
。。。。。。。。。。。。。。 你牛逼。。。。。
[quote]就是不明白为什么成员变量再赋值要放到方法体里?[/quote]
规定,就像你定义一个公共属性得加public属性一样,你对一个变量引用赋值,要么在声明它的时候就赋值,要么在方法体中进行赋值。