调用super必须是构造函数中的第一个语句?

时间:2016-07-22 16:23:12

标签: java android superclass

public class Gonderi {                                      
    int kullaniciId;                                        
    int gonderiId;                                          

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

...

这是我的代码的一部分。编译器给出一个错误,因为“调用super必须是构造函数中的第一个语句”。但super()已经是构造函数中的第一个语句。我怎么解决这个问题?感谢。

2 个答案:

答案 0 :(得分:3)

构造函数没有返回值,但是你拥有它(void):

public void Gonderi(int kullaniciId, int gonderiId) {

所以删除void并拥有一个合适的构造函数:

public Gonderi(int kullaniciId, int gonderiId) {

在此类更改后,在那里调用super()是合法的。

答案 1 :(得分:2)

删除void,您上面提到的那个不是构造函数。这是一个功能。构造函数应如下所示

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