Mục lục:

Đối tượng Date có thể thay đổi trong Java không?
Đối tượng Date có thể thay đổi trong Java không?

Video: Đối tượng Date có thể thay đổi trong Java không?

Video: Đối tượng Date có thể thay đổi trong Java không?
Video: Đối tượng Date 2024, Có thể
Anonim

MỘT đối tượng có thể thay đổi chỉ đơn giản là một sự vật có thể thay đổi trạng thái của nó sau khi xây dựng. Ví dụ: StringBuilder và Ngày là đối tượng có thể thay đổi , trong khi Chuỗi và Số nguyên là bất biến các đối tượng . Một lớp học có thể có một đối tượng có thể thay đổi như một lĩnh vực.

Tương tự như vậy, 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.

Sau đó, câu hỏi đặt ra là đối tượng bất biến trong Java là gì? Đối tượng bất biến là các đối tượng điều đó không thay đổi. Bạn tạo ra chúng, sau đó bạn không thể thay đổi chúng. MỘT Đối tượng bất biến trong Java phải có tất cả các trường của nó là trường cuối cùng nội bộ, riêng tư. Nó không được triển khai bất kỳ bộ cài đặt nào. Nó cần một hàm tạo nhận giá trị cho mọi trường đơn lẻ.

Dưới đây là các đối tượng có thể thay đổi được trong Java không?

Đối tượng bất biến đơn giản là các đối tượng trạng thái của ai ( các đối tượng dữ liệu) không thể thay đổi sau khi xây dựng. Ví dụ về đối tượng bất biến từ JDK bao gồm Chuỗi và Số nguyên. Đối tượng có thể thay đổi có các trường có thể thay đổi, đối tượng bất biến không có trường nào có thể thay đổi sau sự vật được tạo ra.

Làm cách nào để bạn tạo một đối tượng có thể thay đổi được 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.

Đề xuất: