Подтвердить что ты не робот

Незаконное прямое обращение в 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, в создании файла создается недопустимая обратная ссылка.

Как разрешить это?

4b9b3361

Ответ 1

"Недопустимое обращение вперед" означает, что вы пытаетесь использовать переменную до ее определения.

В этом случае вы пытаетесь вызвать метод на wb в объявлении wb.

Workbook wb = wb.getWorkbook(...);

Ответ 2

Forward Illegal Reference - это термин, который появляется в изображении, когда глобальная переменная присваивается неинициализированной не глобальной переменной.

В вашем случае Workbook wb = wb.getWorkbook(new File("----")); - wb не инициализируется перед вызовом метода getWorkbook(). Чтобы избежать FIR, вы должны инициализировать wb.

Ответ 3

Я предполагаю, что целью было называть "статически" метод getWorkbook(), как и следовало ожидать. Итак, вы должны изменить инициализацию члена wb как:

Workbook wb = Workbook.getWorkbook(...)

Ответ 4

хотя getWorkbook статичен, поэтому, соответственно, этот код должен сработать. Но здесь, используя ссылку перед ее объявлением или в том же выражении, что и объявление, вызывается ошибка "Прямая ссылка, то есть использование ссылки перед объявлением".