Đối tượng final vẫn bị sửa từ bên ngoài — hai lần, bằng hai đường khác nhau
Sao chép phòng vệ ở cửa vào và cửa ra, kiểm tra đầu vào ngay tại hàm khởi tạo, và vì sao kiểu bất biến giải quyết vấn đề tận gốc.
Sao chép phòng vệ ở cửa vào và cửa ra, kiểm tra đầu vào ngay tại hàm khởi tạo, và vì sao kiểu bất biến giải quyết vấn đề tận gốc.
Thiết kế ngoại lệ nghiệp vụ có trường riêng, đo chi phí chụp stack trace — 110 ms so với 7 ms cho 200.000 lần — và khi nào nên tắt nó đi.
Mỗi nguyên tắc một đoạn mã trước và sau, cùng phép thử chạy được cho thấy vi phạm Liskov làm hỏng hàm không hề biết gì về lớp con.
Từ Java 8 interface có phương thức mặc định, nên ranh giới mờ đi nhiều. Hai thứ còn khác nhau thật sự — và một ví dụ chuyển từ bên này sang bên kia.
Cùng một lớp đếm số phần tử đã thêm, viết bằng kế thừa cho ra 6 còn viết bằng thành phần cho ra 3. Vì sao, và khi nào kế thừa vẫn là lựa chọn đúng.
Trạng thái và hành vi, trường tĩnh khác trường thể hiện, và ý tưởng quan trọng nhất của chặng này — đối tượng tự bảo vệ ràng buộc của chính nó.