Mục lục:

Làm thế nào chúng ta có thể làm cho lớp bất biến trong Java với trường ngày tháng?
Làm thế nào chúng ta có thể làm cho lớp bất biến trong Java với trường ngày tháng?

Video: Làm thế nào chúng ta có thể làm cho lớp bất biến trong Java với trường ngày tháng?

Video: Làm thế nào chúng ta có thể làm cho lớp bất biến trong Java với trường ngày tháng?
Video: Định hướng học Java và Cách Học nhanh hiệu quả - JMaster.io 2024, Tháng mười một
Anonim

Chúng ta sẽ hiểu những nguyên tắc này thực sự có ý nghĩa gì bằng cách tạo một lớp không thể thay đổi với đối tượng có thể thay đổi với trường Ngày

  1. Không cung cấp các phương thức "setter" - các phương thức sửa đổi lĩnh vực hoặc các đối tượng được giới thiệu bởi lĩnh vực .
  2. Chế tạo tất cả các lĩnh vực cuối cùng và riêng tư.
  3. Không cho phép các lớp con ghi đè các phương thức.

Sau đây, làm thế nào chúng ta có thể tạo ra một lớp bất biến trong Java?

Lớp bất biến trong Java

  1. Khai báo lớp là cuối cùng để nó không thể mở rộng.
  2. Đặt tất cả các trường ở chế độ riêng tư để không cho phép truy cập trực tiếp.
  3. Không cung cấp phương thức setter cho các biến.
  4. Đặt tất cả các trường có thể thay đổi thành cuối cùng để giá trị của nó chỉ có thể được chỉ định một lần.
  5. Khởi tạo tất cả các trường thông qua một hàm tạo thực hiện sao chép sâu.

Sau đó, câu hỏi đặt ra là, việc sử dụng lớp không thay đổi trong Java là gì? Lớp bất biến có nghĩa là một khi một đối tượng được tạo ra, chúng ta không thể thay đổi nội dung của nó. Trong Java , tất cả các trình bao bọc các lớp học (như Số nguyên, Boolean, Byte, Ngắn) và Chuỗi lớp Là bất biến . Chúng tôi có thể tạo của riêng mình lớp bất biến cũng.

Mọi người cũng hỏi, lớp Date có phải là bất biến trong Java không?

Ngày không phải bất biến , chúng tôi cần tạo một bản sao phòng thủ của java . sử dụng. Ngày trong khi trả về một tham chiếu đến biến cá thể này. Hãy tạo ra một người giả định lớp có tên và dob là hai thành viên duy nhất.

Làm thế nào chúng ta có thể làm cho một đối tượng bất biến?

Để làm cho đối tượng không thay đổi, bạn phải thực hiện các bước sau:

  1. Không sử dụng bất kỳ phương thức nào có thể thay đổi các trường trong lớp của bạn. Ví dụ: không sử dụng Setters.
  2. Tránh sử dụng các trường công khai không phải cuối cùng. Nếu các trường của bạn là công khai thì bạn phải khai báo chúng là cuối cùng và khởi tạo chúng trong hàm tạo hoặc trực tiếp trong dòng khai báo.

Đề xuất: