public class CName{
class Cell
{
int key;
Cell link;
}
public static void main(String[] args){
int num=15;
Cell[] cell=new Cell[num];
Random ran=new Random();
for(int i=0;i<num;i++){
cell[i]=new Cell();//此处报错:无法从静态上下文引用非静态
cell[i].key=ran.nextInt(num);
}
}
}
class Cell
{
int key;
Cell link;
}
public static void main(String[] args){
int num=15;
Cell[] cell=new Cell[num];
Random ran=new Random();
for(int i=0;i<num;i++){
cell[i]=new Cell();//此处报错:无法从静态上下文引用非静态
cell[i].key=ran.nextInt(num);
}
}
}
{ public static void main(String[] args)
{
int num = 15;
Cell[] cell = new Cell[num];
Random ran = new Random(); for (int i = 0; i < num; i++)
{
cell[i] = new Cell();//此处报错:无法从静态上下文引用非静态
cell[i].key = ran.nextInt(num);
}
}
}class Cell
{
int key; Cell link;
}
外部类的静态方法(main方法)不能访问非静态内部类,包括不能使用非静态内部类定义变量,创建实例等
int key;
Cell link;
} public class CName{
private static Cell[] cell;
private static Random ran;
public static void main(String[] args){
int num = 15; cell = new Cell[num];
ran = new Random(); for(int i=0;i <num;i++){
cell[i] = new Cell();
cell[i].key = ran.nextInt(num);
}
}
}或者你要申明成内部类,那么就要这样:
import java.util.*;public class CName{
private static Cell[] cell;
private static Random ran;
static class Cell{
int key;
Cell link;
}
public static void main(String[] args){
int num = 15; cell = new Cell[num];
ran = new Random(); for(int i=0;i <num;i++){
cell[i] = new Cell();
cell[i].key = ran.nextInt(num);
}
}
}