2015-03-04 2 views
0

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

class Bird { 
boolean f; 
parrot Bird[]; 
int x; 
} 

Я не могу добавить любые переменные внутри класса Bird больше, я попытался положить его в конструкторе, но всегда есть красная линия под ней.

Любая идея о том, что я делаю неправильно?

+1

Нет, я понятия не имею, что вы делаете неправильно - потому что вы не объяснили, в чем проблема. – immibis

+2

Что вы пытаетесь сделать? – Eran

+0

'parrot Bird [];' эта строка неправильная, поменяйте слова. – Maroun

ответ

1

Измените ваш класс следующим образом:

class Bird { 
    boolean f; 
    Bird[] parrot; 
    int x; 
} 

(вы изменили порядок типа и имя атрибута)

-1

Вы пытаетесь создать свой собственный класс (я полагаю, так как у вас есть не предоставлена ​​полная информация о вашем классе Client).

Однако проблема, я думаю, из-за отсутствия конструктора в вашем классе Bird. Поскольку вы не объявляете какой-либо конструктор в своем классе Bird, Java автоматически примет конструктор по умолчанию от Object (который является самым большим классом, который содержит все остальное).

Чтобы создать конструктор для вашей птицы класса сделать следующим образом:

class Animal { 
    boolean f; 
    Bird[ ] parrot; 
    int x; 

    public Animal() { 
     this(false,inputParrot,inputX); 
    } 

    public Animal (boolean inputF, Bird[ ] inputParrot, int inputX) { 
     f= inputF; 
     parrot = new Bird[ ]; 
     parrot = inputParrot; 
     x = inputX; 
    } 
} 

Я изменил название своего класса, как я предполагаю, что вы пытаетесь создать дерево Animal. Следовательно, порядок будет, Animal has-a Bird, Bird has-a Parrot (исследование отношений has-a и is-a, если вы не уверены).

Смежные вопросы