2013-04-01 3 views
-3

Я пытаюсь создать список массивов из разных классов, которые используют тот же абстрактный класс.Объекты ArrayLists в Java

Однако, я получаю эту ошибку.

<identifier> expected, illegal start of type, package list does not exist.

Все в изображении.

+1

Дайте сообщение об ошибке здесь. –

+0

Извините, ошибка ожидается, незаконный запуск типа, список пакетов не существует. – user2102697

+0

не размещать изображения на сайтах сторонних организаций, размещать ошибки в вашем вопросе как встроенный текст, или это будет быстро проголосовано и удалено –

ответ

0

У вас нет этих утверждений, заключенных внутри любого метода. Создание экземпляра поля list в порядке, но присвоение ему некоторых значений? Нет. Поместите его внутри блока или метода.

2

Ваш list.add не выполняется в конструкторе или методе, а просто плавает в вашем классе, что не допускается. Попробуйте поместить его в конструктор, если вам нужно, чтобы он выполнялся при создании экземпляра класса или создавал метод добавления параметров, переданных ему в ваш list.

В качестве альтернативы для поточного конкретизации (но не забудьте посмотреть на плюсы и минусы double brace initialisation)

Э.Г.

public class TestEmployee { 

    private ArrayList<Employee> list = new ArrayList<Employee>() {{ 
     add(new SalariedEmployee...); 
     add(new SalariedEmployee...); 
    }} 

} 
+0

+1 для этой функции _hidden_. – asgs

1

Фактически я увидел вашу фотографию и обнаружил, что вы пытаетесь добавить элемент в ArrayList вне метода или блока.

Вместо этого напишите это в методе.

public void method() { 
    list.add(.........); 
} 
0

Тип списка должен быть:

ArrayList <? extends Employee> list = new ArrayList<>(); 
Смежные вопросы