调用Arrays的方法 为什么一定要在静态区域

来源:百度知道 编辑:UC知道 时间:2024/06/06 02:17:40
import java.util.*;

public class file2 {

int b=Math.abs(5);
public static int[] a=new int[]{2,34,21,11,23,56,65,33,89,90};
//Arrays.sort(a);

public static void main(String[] args){
Arrays.sort(a);
for(int i=0;i<a.length;i++)
{

System.out.println(a[i]);

}
}
}
那个被我注掉的Arrays.sort(a)会报错,是不是因为它只能在静态区域调用,如果我的猜想正确,这是为什么?

囧..那个不是静态区..那个是主函数..只不过用static声明而已..

当然不能写在那个被注释的位置..

java类中只有三种东东.

1. 属性声明和赋值,比如int b=Math.abs(5);

2. 方法(在某些语言中叫函数)比如上面的程序中的主函数main
public static void main(String[] args){
Arrays.sort(a);
for(int i=0;i<a.length;i++)
{

System.out.println(a[i]);

}
}

3.静态块..上面的程序中没有.即
static{
//一些操作
}

一个类中只能有上面三种东西...

所以把Arrays.sort(a);写在那里必然会报错..

你放的地方时加载成员变量的。Arrays.sort(a);要放在方法中才能执行,可以放在静态方法,实例方法,构造方法,静态代码段。