Доступ из класса C к значению из внутреннего класса B класса A - PullRequest
0 голосов
/ 09 октября 2018

Я не понимаю, почему я не могу даже создать новый экземпляр, IDE помечает внутреннее имя класса как неназначенное

public class WbXLS {

  class XlsCell {
    public String getxlsCell(HSSFSheet sheet, String strCellValue) {

    }
  }
}

Пробовал без успеха

WbXLS.XlsCell xlscell = new wbXLS.new XlsCell();

Я сделалвнутренний класс, чтобы получить возвращаемое значение из метода и использовать его в другом классе.Правильно ли я это делаю?

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Каждый XlsCell объект имеет WbXLS.this: ссылку на контейнер объекта, в котором он находится.

Таким образом, круглые скобки отсутствовали:

WbXLS.XlsCell xlscell = new WbXLS().new XlsCell();

Но в действительности вы, вероятно, хотите:

WbXLS workbook = new WbXLS();
WbXLS.XlsCell xlscell = workbook.new XlsCell();

И сделать что-нибудь с одним экземпляром рабочей книги.(Для которого может быть создано несколько ячеек.)

0 голосов
/ 09 октября 2018

Я думаю, что у вас не хватает скобок.Это компилирует для меня:

WbXLS.XlsCell xlscell = new WbXLS().new XlsCell();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...