Toán tử instanceof trong java

0
1
This entry is part 29 of 29 in the series Tự học lập trình Java

Bài viết này mình sẽ giới thiệu đến các bạn toán tử instanceof trong java và cách sử dụng nó để nhận biết kiểu dữ liệu.

Toán tử instanceof dùng để kiểm tra một đối tượng có phải là một thể hiện thuộc kiểu dữ liệu cụ thể hay không ( các lớp, interface…)

Toán tử instanceof sẽ trả về giá trị boolean tức là true hoặc false. Nếu bạn dùng toán tử instanceof với một biến có giá trị là null thì sẽ trả về giá trị false mặc dù biến đó có thể cùng kiểu dữ liệu.

Cách sử dụng toán tử instanceof trong java

Sử dụng với đối tượng thuộc lớp:

Vì đối tượng hs thuộc lớp Student nên câu lệnh trên trả về giá trị true.

Sử dụng với đối tượng con của lớp cha:

Vậy một đối tượng thuộc lớp con cũng cùng kiểu dữ kiệu với lớp cha. Đối tượng dog tham chiếu đến Animal gọi là upcasting.

Sử dụng với biến có giá trị null:

Như đã nói ở trên, nếu bạn so sánh kiểu dữ liệu của một biến null thì kết quả trả về là false.

Xem ví dụ dưới đây

Kết quả trả về sẽ là false

Sử dụng toán tử instanceof với interface:

Tương tự như các class nếu một class implements từ một interface thì nó cũng thuộc kiểu dữ liệu của interface.

Quá trình downcasting

Khi kiểu của lớp con tham chiếu tới đối tượng của lớp cha được gọi là downcasting. Nếu bạn tham chiếu trực tiếp đến đối tượng cha thì sẽ biên dịch lỗi. Nếu bạn ép kiểu thì sẽ gặp ngoại lệ trong runtime. Cách dùng được khuyến khích là dùng toán tử instanceof để downcasting.

Bài viết mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi !

Series Navigation<< Interface trong java

ĐỂ LẠI BÌNH LUẬN

Vui lòng nhập nội dung bình luận
Vui lòng nhập tên