Я учусь интерфейс Java и я нашел что-то странное ...статический метод внутри интерфейса - Java
Дано интерфейс:
public interface Worker {
public void doWork();
static void aTestStatic() {
System.out.println("I can be called within the Interface!");
}
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Worker.aTestStatic();
}
Это на самом деле работает:
I can be called within the Interface!
Зачем? Я думал, что в интерфейсах можно только объявлять методы без реализации и, не будучи классом, они не могут быть вызваны, но только реализованы.
Заранее спасибо.
Вы используете java 1.8? https://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html –