Giới thiệu về phương thức default trong Java

Phương thức default được Java giới thiệu từ phiên bản Java 8 để enable khả năng mở rộng, cải tiến một interface đã tồn tại mà không làm phá vỡ những class đã hiện thực interface đó trước đó. Cụ thể nó như thế nào, trong bài viết này chúng ta hãy cùng nhau tìm hiểu nhé các bạn!

OK, hãy bắt đầu bằng ví dụ sau.

Ví dụ, giờ mình có một interface như sau:

Một class implement interface SayHello trên:

Và class sử dụng:

Kết quả:

Giới thiệu về phương thức default trong Java

Bây giờ, sẽ như thế nào nếu mình muốn mở rộng interface SayHello bằng cách thêm mới một phương thức như sau:

Lúc này, một lỗi compile sẽ xuất hiện ngay trong class SayHelloImpl:

Giới thiệu về phương thức default trong Java

Giả sử rằng, chúng ta không thể chỉnh sửa class SayHelloImpl vì hiện tại nó đang được sử dụng ở một nơi khác trong ứng dụng của chúng ta. Vậy cách giải quyết ở đây là gì?

Đây chính là lý do để phương thức default trong interface được giới thiệu từ Java 8 trở lên. Với phương thức default, chúng ta có thể thêm nhiều phương thức vào một interface bất kỳ với implementation bên trong, giúp cho việc mở rộng, cải tiến interface đó sẽ không làm phá vỡ hệ thống đang tồn tại.

Trong ví dụ trên, mình có thể sử dụng phương thức default với phương thức print() như sau:

Kết quả:
Giới thiệu về phương thức default trong Java

5/5 - (2 bình chọn)

Add Comment