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工作表中提取数据非法前向引用错误来自文件对象创建。
怎么解决这个?
“非法转发引用”表示您在定义变量之前尝试使用该变量。
在这种情况下,您尝试在wb
的声明中调用wb
上的方法。
Workbook wb = wb.getWorkbook(...);
Forward Illegal Reference是将未初始化的非全局变量值分配给全局变量时出现的术语。
在你的情况下Workbook wb = wb.getWorkbook(new File("----"));
– 在调用getWorkbook()
方法之前, wb
未初始化。 为了避免FIR,你应该初始化wb
。
我想这是打算’静态’调用getWorkbook()
方法,就像你应该的那样。 因此,您应该将wb
成员初始化更改为:
Workbook wb = Workbook.getWorkbook(...)
虽然getWorkbook是静态的,所以相应地,这段代码应该有效。 但是在这里,在声明之前或与声明相同的声明中使用引用会导致错误“正向引用,即在声明之前使用引用”。