Computer >> Máy Tính >  >> Lập trình >> Java

Sự khác biệt giữa lớp trừu tượng và giao diện trong Java

Trong Java, trừu tượng hóa đạt được bằng cách sử dụng các lớp và giao diện trừu tượng. Cả hai đều chứa các phương thức trừu tượng mà một lớp con hoặc lớp thực thi phải triển khai. Sau đây là những điểm khác biệt quan trọng giữa lớp trừu tượng và một giao diện.

Giao diện Giao diện Hỗ trợ Giao diện Giao diện Giao diện Giao diện Giao diện
Sr. Không.
Phím
Lớp Tóm tắt
Giao diện
1
Phương pháp được Hỗ trợ
Lớp trừu tượng có thể có cả phương thức trừu tượng và cụ thể.
chỉ có thể có các phương thức trừu tượng. Java 8 trở đi, nó có thể có các phương thức mặc định cũng như tĩnh.
2
Nhiều Thừa kế
Nhiều thừa kế không được hỗ trợ.
hỗ trợ Nhiều Thừa kế.
3
Biến được Hỗ trợ
các biến cuối cùng, không phải cuối cùng, tĩnh và không tĩnh.
Chỉ cho phép các biến tĩnh và biến cuối cùng.
4
Triển khai
Lớp trừu tượng có thể triển khai một giao diện.
không thể thực hiện một giao diện, nó có thể mở rộng một giao diện.
5
Từ khóa
Lớp trừu tượng được khai báo bằng từ khóa trừu tượng.
được khai báo bằng từ khóa interface.
6
Kế thừa
Lớp trừu tượng có thể kế thừa một lớp khác bằng cách sử dụng từ khóa expand và triển khai một giao diện.
chỉ có thể kế thừa một giao diện.
7
Kế thừa
Lớp trừu tượng có thể được kế thừa bằng cách sử dụng từ khóa expand.
chỉ có thể được triển khai bằng cách sử dụng từ khóa triển khai.
8
Quyền truy cập
Lớp trừu tượng có thể có bất kỳ loại thành viên nào như private, public.
chỉ có thể có thành viên công khai.

Ví dụ về Lớp trừu tượng so với Giao diện

JavaTester.java

public class JavaTester {
   public static void main(String args[]) {
      Animal tiger = new Tiger();
      tiger.eat();
      Cat lion = new Lion();
      lion.eat();
   }
}
interface Animal {
   public void eat();
}
class Tiger implements Animal {
   public void eat(){
      System.out.println("Tiger eats");
   }
}
abstract class Cat {
   abstract public void eat();
}
class Lion extends Cat{
   public void eat(){
      System.out.println("Lion eats");
   }
}

Đầu ra

Tiger eats
Lion eats