Sự khác biệt giữa cuối cùng và tĩnh

Trong toán học và khoa học, hằng số là một thuật ngữ biểu thị một giá trị nhất định, chẳng hạn như 'π', là tên thực tế của số 3.14159. Java có loại hằng số. Đây là các biến mà dưới (a) không thuộc về bất kỳ đối tượng nào và phụ (b) không thay đổi giá trị của chúng sau khi chúng được đặt. Từ tĩnh trong khai báo biến cho thấy biến không thuộc về bất kỳ đối tượng nào. Có một từ khóa tương tự nói rằng giá trị biến sẽ chỉ được đặt một lần và sẽ không thay đổi. Đây là từ khóa cuối cùng. Từ khóa này không giới hạn ở các biến tĩnh nhưng có thể được sử dụng với các biến thể hiện, biến cục bộ và thậm chí với các biến là phương thức tham số. Bằng cách khai báo biến là cuối cùng, bạn cho mọi người thấy rằng biến trong quá trình tồn tại sẽ có cùng giá trị. Quan trọng hơn, trình biên dịch sẽ phát hiện mọi nỗ lực thay đổi giá trị của một biến được khai báo và báo cáo đó là một lỗi. Đối với thuật ngữ Java, biến được khai báo là tĩnh và cuối cùng được gọi là hằng số.

Chung kết là gì?

Công cụ sửa đổi cuối cùng có thể được sử dụng ở một số nơi trong ngôn ngữ lập trình Java. Ở đây chúng tôi sẽ đề cập đến việc sử dụng phổ biến nhất của nó. Công cụ sửa đổi cuối cùng có thể được áp dụng để khai báo một biến cục bộ, đối số hàm và các biến thành viên không tĩnh hoặc tĩnh. Trong bối cảnh này, công cụ sửa đổi biến đổi thành một hằng số. Trình dịch ngôn ngữ dịch sẽ kiểm tra xem một số mã đang cố sửa đổi giá trị hay không và những lần thử đó sẽ bị gắn cờ là lỗi. Đây là một ví dụ.

giá trị int cuối cùng = 17;

Các biến thành viên tĩnh với công cụ sửa đổi này được sử dụng như các hằng số toàn cầu; ví dụ, trong biến java.lang.Math PI, nó được nêu chính xác

công tĩnh đôi cuối cùng PI = 3.14159265358979323846;

Chúng ta có thể áp dụng công cụ sửa đổi cuối cùng để khai báo hàm. Hàm được đánh dấu bằng chung kết không còn có thể bị ghi đè - đó là cách thực hiện cuối cùng của nó. Các phương thức trừu tượng không thể được tuyên bố cuối cùng - thực tế là chúng trừu tượng có nghĩa là chúng thiếu thực hiện; nó chắc chắn không thể là trạng thái cuối cùng của họ. Đây là một ví dụ.

chung kết int ý nghĩaLife ()

trả lại 42;

Chúng ta có thể áp dụng công cụ sửa đổi cuối cùng cho khai báo lớp. Lớp được đánh dấu bằng chung kết có thể không còn kế thừa - đó là lớp thực hiện cuối cùng. Rõ ràng, lớp trừu tượng không thể là cuối cùng cùng một lúc. Đây là một ví dụ

lớp cuối cùng công khai Đóng

//

Một trong những ví dụ về lớp hữu hạn là lớp java.lang.String - nó là hữu hạn để không ai có thể thừa kế nó và do đó có được quyền truy cập vào các biến thành viên của nó.

Tĩnh là gì?

Các biến tĩnh không thuộc về thể hiện cụ thể của lớp. Các biến tĩnh thuộc về chính lớp đó và trong bộ nhớ chỉ có một vị trí, bất kể số lượng bản sao của lớp đó được tạo trong bộ nhớ. Các biến không tĩnh thuộc về mẫu vật lớp - mỗi phiên bản của lớp có bản sao riêng của các biến đó. Các biến tĩnh thuộc về lớp - lớp trong bộ nhớ giữ các giá trị của các biến đó; do đó tất cả các lớp mẫu đều nhìn thấy cùng một nội dung để chúng ta có thể xem xét các biến tĩnh được chia sẻ giữa tất cả các kích cỡ lớp. Bằng cách cập nhật biến giá trị, giá trị mới sẽ tự động hiển thị cho tất cả các phiên bản của lớp đó. Bộ lọc tĩnh có thể được áp dụng cho bất kỳ phần tử nào được khai báo hợp pháp trong một lớp. Trong trường hợp các biến thành viên, hậu quả là các biến thành viên đó sẽ chỉ được lưu trữ trong bộ nhớ ở một nơi. Điều gì xảy ra nếu nó là một phương pháp? Bằng cách khai báo phương thức là tĩnh, thông báo giống nhau: phương thức có liên quan không thuộc về các lớp của lớp mà thuộc về chính lớp đó. Do đó, các phương thức tĩnh sẽ không nhận được một tham chiếu ẩn đến đối tượng mà chúng được gọi theo lệnh gọi; trong các phương pháp tham chiếu tĩnh, điều này là không có sẵn. Thật vậy, việc gọi các phương thức tĩnh trên đối tượng cũng khó hiểu như việc truy cập các biến thành viên tĩnh bằng cách tham chiếu đến tham chiếu này: trong cả hai trường hợp, tốt hơn là chỉ cần viết tên của lớp, điểm và tên của phương thức gọi.

Sự khác biệt giữa cuối cùng và tĩnh

  1. Biến đổi

Tĩnh là viết tắt của một biến chung cho tất cả các đối tượng khởi tạo một lớp nhất định trong khi cuối cùng xác định hằng số.

  1. phương pháp

Tĩnh là một phương thức giống nhau cho từng đối tượng được cung cấp lớp - còn được gọi là thành viên lớp, ví dụ: đó là phương pháp chính Phương thức cuối cùng không thể được xử lý trong lớp kế thừa.

  1. Lớp học

Cuối cùng không thể được mở rộng, tức là không cho phép các lớp con. Tĩnh không áp dụng cho lớp.

  1. Giá trị

Nói một cách đơn giản, cuối cùng biểu thị rằng giá trị không thể thay đổi (ghi đè). Giá trị tĩnh được đặt thành giá trị mặc định của nó, nhưng có thể được khởi tạo lại.

Chung kết so với tĩnh: Biểu đồ so sánh

Tóm tắt cuối cùng và tĩnh

  • Khóa công việc tĩnh cung cấp quyền truy cập ngay cả khi không có đối tượng (ví dụ). Các lớp nổi bật được khai báo thông qua từ khóa tĩnh. Nếu bạn không muốn giá trị của một số thay đổi sau này trong chương trình hoặc nếu bạn muốn trình biên dịch kiểm tra và cấm, bạn có thể thay đổi lời hứa đó đến cuối cùng. Có một khối tĩnh cho việc khởi tạo. Khối tĩnh cho việc khởi tạo được khai báo là khóa tĩnh trước dấu ngoặc. Loại khối này được thực hiện một lần, trong khi đọc các lớp và nó thường khởi tạo các thành viên tĩnh của lớp.