java中的非法前向引用
import java.io.*;
import jxl.*;
class Xlparsing
{
Workbook wb =wb.getWorkbook(new File(
"C:\\Documents and Settings\\kmoorthi\\Desktop\\ak\\new.xls"));
// Illegal forward reference What it means
Sheet st = wb.getSheet(0);
Cell cell1 = st.getCell(0,0);
String a1 = cell1.getContents();
public static void main(String s[])
{
System.out.println(new Xlparsing().a1);
}
}
嗨,当我试图从excel工作表中提取数据时,文件对象创建中出现非法正向引用错误
如何解决这个问题
# 1 楼答案
我猜其意图是像您应该做的那样,静态地调用
getWorkbook()
方法。因此,您应该将wb
成员初始化更改为:# 2 楼答案
“非法正向引用”指的是您试图在定义变量之前使用它
在本例中,您试图在
wb
的声明中调用wb
上的一个方法# 3 楼答案
尽管getWorkbook是静态的,所以相应地,这段代码应该已经运行了。但在这里,在声明之前使用引用或在声明的同一语句中使用引用会导致错误“正向引用,即在声明之前使用引用”
# 4 楼答案
正向非法引用是一个术语,当一个未初始化的非全局变量值被分配给一个全局变量时,这个术语就出现了
在本例中,
Workbook wb = wb.getWorkbook(new File("----"));
-wb
在调用getWorkbook()
方法之前未初始化。为了避免FIR,您应该初始化wb