Tôi tìm thấy một article với một mảnh thú vị mã:Các lớp Java bất biến?
public class Employee {
private String firstName;
private String lastName;
//private default constructor
private Employee(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public static Employee valueOf (String firstName, String lastName) {
return new Employee(firstName, lastName);
}
}
Tôi thực sự tò mò trong việc tìm hiểu các lợi thế của việc tạo ra loại lớp. Tôi hiểu rằng ở đây một đối tượng của lớp này sẽ không thay đổi, bởi vì không có cách nào thay đổi các giá trị biến của nó khi được khởi tạo. Tôi chưa bao giờ làm điều gì đó như thế này trước đây, và tôi không thực sự hiểu được lợi thế của nó.
- Tại sao thực hành tốt?
- Bạn có thể đặt tên cho trường hợp có thể sử dụng phương pháp này không?
- Điều gì về các hằng số hoặc chỉ đọc các biến? Không phải là rất giống nhau?
- Trong bài báo nói rằng điều này không tốt cho hiệu suất của ứng dụng. Nhưng tại sao?
bang Mutable làm cho nó khó để suy luận về những gì đang làm. Nhìn vào lập trình hàm. –
Lớp này không có phương thức truy cập. Đó là mục đích? –
bài viết hữu ích nếu bạn đã không đọc nó chưa: http://www.javapractices.com/topic/TopicAction.do?Id=29 –