Một interface trong Java tương tự như một class, nhưng nó chỉ chứa các phương thức trừu tượng (abstract methods) và các trường (fields) là final và static.
Giống như các class, bạn có thể mở rộng một interface từ một interface khác bằng từ khóa extends. Bạn cũng có thể mở rộng nhiều interface từ một interface duy nhất bằng từ khóa extends, phân tách các interface bằng dấu phẩy (,) như sau:
interface MyInterface extends ArithmeticCalculations, MathCalculations {
Ví dụ
Chương trình Java sau minh họa cách mở rộng nhiều interface từ một interface đơn lẻ.
interface ArithmeticCalculations {
public abstract int addition(int a, int b);
public abstract int subtraction(int a, int b);
}
interface MathCalculations {
public abstract double squareRoot(int a);
public abstract double powerOf(int a, int b);
}
interface MyInterface extends MathCalculations, ArithmeticCalculations {
public void displayResults();
}
public class ExtendingInterfaceExample implements MyInterface {
public int addition(int a, int b) {
return a + b;
}
public int subtraction(int a, int b) {
return a - b;
}
public double squareRoot(int a) {
return Math.sqrt(a);
}
public double powerOf(int a, int b) {
return Math.pow(a, b);
}
public void displayResults() {
Scanner sc = new Scanner(System.in);
System.out.println("Nhập giá trị của a: ");
int a = sc.nextInt();
System.out.println("Nhập giá trị của b: ");
int b = sc.nextInt();
ExtendingInterfaceExample obj = new ExtendingInterfaceExample();
System.out.println("Kết quả cộng: " + obj.addition(a, b));
System.out.println("Kết quả trừ: " + obj.subtraction(a, b));
System.out.println("Căn bậc hai của " + a + " là: " + obj.squareRoot(a));
System.out.println(a + "^" + b + " giá trị là: " + obj.powerOf(a, b));
}
public static void main(String args[]) {
new ExtendingInterfaceExample().displayResults();
}
}
Kết quả
Nhập giá trị của a: 4 Nhập giá trị của b: 3 Kết quả cộng: 7 Kết quả trừ: 1 Căn bậc hai của 4 là: 2.0 4^3 giá trị là: 64.0