Кажется, я не могу понять, почему я продолжаю получать сообщение об ошибке «Недопустимое объявление метода; требуется тип возврата».

#java #maven #swing

Вопрос:

Я пытаюсь создать поле типа UUID…

 public class Music {  private final UUID singerID;  private final UUID musicID;    Singer() {  this.singerID = UUID.randomUUID();   }    Music() {  this.musicID = UUID.randomUUID();  } }  

И я продолжаю получать сообщение об ошибке «недопустимое объявление метода; требуется тип возврата», когда Singer() { я очень новичок в java, прошло около 2 недель, так что если бы вы могли не торопиться со мной, это бы много значило для меня!

Комментарии:

1. Что Singer() должно быть? Если это метод, ему нужен тип возвращаемого значения. Если это конструктор, он должен иметь то же имя, что и класс, в котором он находится. Ты хотел, чтобы был вызван еще один класс Singer ?

2. @khelwood Я сделал, я попробовал это, и там всегда написано «музыка конструктора() уже определена в классе…..», так что это не сработает…

3. @PoTheBox это потому, что у тебя уже есть один. Если он там без причины, просто удалите его. Вопрос в следующем: что вы пытались сделать? Почему это Singer() было в первую очередь?

4. @khelwood Я пытаюсь создать 2 поля singerID и MusicID, в то время как оба они имеют тип UUID, а затем вернуть их…

5. Затем инициализируйте оба поля в одном конструкторе.

Ответ №1:

Вы используете синтаксис конструктора для Singer (), когда класс является музыкальным.

Измените свой код на конструктор Singer() и удалите его,

 public Music() {  this.musicID = UUID.randomUUID();  this.singerID = UUID.randomUUID(); }  

Комментарии:

1. Правильно и поддержано, но я думаю, что в финале было бы не singerID поле в классе, а скорее целое Singer . (конечно, это чистое предположение с моей стороны)

2. эй, спасибо, ребята, что, если я хочу установить методы получения и настройки для этого, чтобы я мог вернуть его и т. Д.?

3. Вы можете добавить Singer переменную в Music класс и переместить конструктор singerID и Singer() в Singer класс.

4. @PoTheBox тогда не используйте final для UUID. Вы можете использовать сеттеры.

5. @JosephKohilan итак private UUID musicID , private UUID singerID но тогда я просто очень запутался, как я могу использовать сеттеры и геттеры для UUID в этом случае, я понимаю, как использовать сеттеры и геттеры в строках и int, но не могу освоиться с UUID, не могли бы вы помочь дальше?