2016-07-22 3 views
-3
public class Gonderi {          
    int kullaniciId;           
    int gonderiId;           

    public void Gonderi(int kullaniciId, int gonderiId) { 
     super(); 
     this.kullaniciId = kullaniciId; 
     this.gonderiId = gonderiId; 
    } 

...Вызов супер должен быть первым выражением в конструкторе?

Это часть моего кода. Компилятор выдает ошибку, поскольку «вызов супер должен быть первым выражением в конструкторе». Но super() уже является первым выражением в конструкторе. Как я могу решить эту проблему? Благодарю.

+5

Это не конструктор. – tnw

+0

@tnw Что это за конструктор? –

+3

@ user6551379 Пожалуйста, просто спросите всемогущего Google. Это рассматривается практически во всех вводных курсах для Java. Если вы не можете беспокоиться о том, чтобы попытаться научиться и помочь себе, вам будет очень тяжело изучать этот материал. – tnw

ответ

3

Конструкторы не имеют возвращаемого значения, но у вас есть (void):

public void Gonderi(int kullaniciId, int gonderiId) { 

Так удалить void и иметь надлежащий конструктор:

public Gonderi(int kullaniciId, int gonderiId) { 

После такого изменения будет законным позвонить по телефону super().

+0

Это сработало, спасибо! Но не делает ли что-то вроде «void», «int» и т. Д. Означает, что функция или метод «недействительны»? –

+1

Пожалуйста, приложите минимальные усилия, чтобы найти дубликат, прежде чем пытаться ответить. Этот вопрос задают ежедневно. Или голосуйте, чтобы закрыть как дубликат или опечатку (непреднамеренно написанную). – Savior

+1

Нет 'void' используется только в методах, конструкторы имеют определенный синтаксис, который не допускает никакого возвращаемого значения. –

2

Удалить void, тот, который вы упомянули выше, не является конструктором. Это функция. Конструктор должен быть ниже

public Gonderi(int kullaniciId, int gonderiId) { 
    super(); 
    this.kullaniciId = kullaniciId; 
    this.gonderiId = gonderiId; 
    } 
Смежные вопросы