Là bản thiết kế cho class, định nghĩa các hành vi mà class phải thực hiện
Chỉ chứa abstract methods và constants
Class implement interface phải override tất cả methods
2) Cách khai báo và sử dụng
publicinterfaceAnimal {
// Constants (mặc định là public static final) String TYPE ="Animal";
// Abstract methods (mặc định là public abstract)voidmakeSound();
voidmove();
}
classDogimplements Animal {
@OverridepublicvoidmakeSound() {
System.out.println("Woof!");
}
@Overridepublicvoidmove() {
System.out.println("Running on 4 legs");
}
}
3) Tại sao cần Interface?
Đạt được 100% abstraction
Hỗ trợ multiple inheritance
Loose coupling (giảm sự phụ thuộc giữa các class)
// Một class có thể implement nhiều interfacepublicclassBirdimplements Flyable, Walkable {
@Overridepublicvoidfly() {
System.out.println("Flying...");
}
@Overridepublicvoidwalk() {
System.out.println("Walking...");
}
}