Java Interface
Оновлено: 22.05.2023
Інтерфейси
Ще один спосіб досягнення абстракції в Java - це інтерфейси.
Інтерфейс - це повністю "абстрактний клас", який використовується для групування пов'язаних методів з порожніми тілами:
// interface
interface Animal {
public void animalSound(); // interface method (does not have a body)
public void run(); // interface method (does not have a body)
}
Щоб отримати доступ до методів інтерфейсу, інтерфейс повинен бути "реалізований" (успадкований) іншим класом з ключовим словом implements (замість extends). Тіло методу інтерфейсу надається класом, що його реалізує:
// Interface
interface Animal {
public void animalSound(); // interface method (does not have a body)
public void sleep(); // interface method (does not have a body)
}
// Pig "implements" the Animal interface
class Pig implements Animal {
public void animalSound() {
// The body of animalSound() is provided here
System.out.println("The pig says: wee wee");
}
public void sleep() {
// The body of sleep() is provided here
System.out.println("Zzz");
}
}
class Main {
public static void main(String[] args) {
Pig myPig = new Pig(); // Create a Pig object
myPig.animalSound();
myPig.sleep();
}
}
Кілька інтерфейсів
Щоб реалізувати кілька інтерфейсів, розділяйте їх комою:
interface FirstInterface {
public void myMethod(); // interface method
}
interface SecondInterface {
public void myOtherMethod(); // interface method
}
class DemoClass implements FirstInterface, SecondInterface {
public void myMethod() {
System.out.println("Some text..");
}
public void myOtherMethod() {
System.out.println("Some other text...");
}
}
class Main {
public static void main(String[] args) {
DemoClass myObj = new DemoClass();
myObj.myMethod();
myObj.myOtherMethod();
}
}