有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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工作表中提取数据时,文件对象创建中出现非法正向引用错误

如何解决这个问题


共 (4) 个答案

  1. # 1 楼答案

    我猜其意图是像您应该做的那样,静态地调用getWorkbook()方法。因此,您应该将wb成员初始化更改为:

    Workbook wb = Workbook.getWorkbook(...)
    
  2. # 2 楼答案

    “非法正向引用”指的是您试图在定义变量之前使用它

    在本例中,您试图在wb的声明中调用wb上的一个方法

    Workbook wb = wb.getWorkbook(...);
    
  3. # 3 楼答案

    尽管getWorkbook是静态的,所以相应地,这段代码应该已经运行了。但在这里,在声明之前使用引用或在声明的同一语句中使用引用会导致错误“正向引用,即在声明之前使用引用”

  4. # 4 楼答案

    正向非法引用是一个术语,当一个未初始化的非全局变量值被分配给一个全局变量时,这个术语就出现了

    在本例中,Workbook wb = wb.getWorkbook(new File("----"));-wb在调用getWorkbook()方法之前未初始化。为了避免FIR,您应该初始化wb