Если у нас не может быть конструктора в интерфейсе java, тогда что это? - PullRequest
0 голосов
/ 07 августа 2020

Это код.

public interface AppointmentDAO {
    public Integer addAppointment(Appointment appointment);
    public Integer updateAppointment(Appointment appointment);
    public Integer deleteAppointment(Integer id);
    public Appointment getAppointmentById(Integer id);
    public ResultSet getAllAppointments();
}

Разве все эти конструкторы не находятся в интерфейсе?

Ответы [ 3 ]

0 голосов
/ 07 августа 2020

Нет, это не так.

Конструктор похож на метод, но на самом деле это не метод.

Метод Java и конструктор Java могут быть различается по имени и типу возвращаемого значения. Конструктор имеет то же имя, что и класс, и не возвращает никакого значения. Например,

class Example {

   Example() {
     // constructor body
   }
}

Здесь Example () - конструктор. Он имеет то же имя, что и класс, и не имеет возвращаемого типа.

class Example {
    void Example() {
    // method body
   }
}

Здесь Example () имеет то же имя, что и класс. Однако у него есть возвращаемый тип void. Следовательно, это метод, а не конструктор.

0 голосов
/ 07 августа 2020

Конструкторы должны создать экземпляр класса, он имеет то же имя, что и имя класса, как показано ниже:

Class A {
  public A() {}
}

В то время как интерфейс имеет только абстрактные методы с разными именами

Interface B {
 public void test(); 
}
0 голосов
/ 07 августа 2020

Это не конструкторы, это просто методы. Конструкторы не возвращаются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...