Java không bắt buộc bạn phải có một câu lệnh 'mặc định' nhưng đó là một cách tốt để có tất cả thời gian, ngay cả khi mã có thể không bao giờ đạt được (ngay bây giờ). Đây là một vài lý do:
Bằng cách có một mệnh đề mặc định không thể truy cập, bạn hiển thị cho người đọc mã của bạn rằng bạn đã xem xét các giá trị và biết bạn đang làm gì. Bạn cũng cho phép thay đổi trong tương lai, ví dụ: một giá trị enum mới được thêm vào, công tắc không nên âm thầm bỏ qua giá trị mới; thay vào đó bạn có thể ném Ngoại lệ hoặc làm việc khác.
Để bắt một giá trị không mong muốn (trong trường hợp bạn không bật enum) được truyền vào - chẳng hạn, nó có thể lớn hơn hoặc ít hơn so với những gì bạn mong đợi, chẳng hạn.
Để xử lý các hành động 'mặc định' - trong đó các công tắc dành cho hành vi đặc biệt. Ví dụ, một biến có thể được khai báo bên ngoài công tắc nhưng không được khởi tạo và mỗi trường hợp khởi tạo nó thành một cái gì đó khác nhau. Mặc định trong trường hợp này có thể khởi tạo nó thành một giá trị mặc định để mã ngay sau khi chuyển đổi không bị lỗi / ném ngoại lệ.
Ngay cả khi bạn quyết định không đặt gì vào mặc định (không có ngoại lệ, ghi nhật ký, v.v.) thì ngay cả một nhận xét để nói rằng bạn đã xem mặc định thực tế sẽ không bao giờ xảy ra có thể giúp đọc mã của bạn; nhưng điều đó đi xuống sở thích cá nhân.