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

Sự khác biệt giữa Giao diện và lớp trong Java

Lớp

Một lớp là một bản thiết kế mà từ đó các đối tượng riêng lẻ được tạo ra. Một lớp có thể chứa bất kỳ kiểu biến nào sau đây.

  • Biến cục bộ - Các biến được định nghĩa bên trong các phương thức, hàm tạo hoặc khối được gọi là biến cục bộ. Biến sẽ được khai báo và khởi tạo trong phương thức và biến sẽ bị hủy khi phương thức hoàn thành.

  • Biến phiên bản - Biến thể hiện là các biến bên trong một lớp nhưng bên ngoài bất kỳ phương thức nào. Các biến này được khởi tạo khi lớp được khởi tạo. Các biến phiên bản có thể được truy cập từ bên trong bất kỳ phương thức, hàm tạo hoặc khối nào của lớp cụ thể đó.

  • Biến lớp - Biến lớp là các biến được khai báo bên trong một lớp, bên ngoài bất kỳ phương thức nào, với từ khóa static.

Giao diện

Giao diện là một kiểu tham chiếu trong Java. Nó tương tự như lớp học. Nó là một tập hợp các phương thức trừu tượng. Một lớp triển khai một giao diện, do đó kế thừa các phương thức trừu tượng của giao diện.

Cùng với các phương thức trừu tượng, một giao diện cũng có thể chứa các hằng số, phương thức mặc định, phương thức tĩnh và các kiểu lồng nhau. Các thân phương thức chỉ tồn tại cho các phương thức mặc định và phương thức tĩnh.

Viết một giao diện tương tự như viết một lớp. Nhưng một lớp mô tả các thuộc tính và hành vi của một đối tượng. Và một giao diện chứa các hành vi mà một lớp thực hiện.

Sau đây là những điểm khác biệt quan trọng giữa Lớp và 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 Giao diện
Sr. Không.
Phím
Lớp
Giao diện
1
Phương pháp được Hỗ trợ
Một lớp 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
Một lớp 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
Một lớp được khai báo bằng từ khóa lớp.
được khai báo bằng từ khóa interface.
6
Kế thừa
Một lớp 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
Một lớp 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
Một lớp 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.
9
Khối mã lệnh
Một lớp có thể có các phương thức khởi tạo.
không được có hàm tạo.

Ví dụ về Lớp so với Giao diện

JavaTester.java

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

Đầu ra

Tiger eats
Tiger eats