Trong lập trình Java hướng đối tượng, toán tử instanceof
được sử dụng để kiểm tra một đối tượng có thuộc một kiểu cụ thể hay không. Cú pháp của toán tử instanceof
như sau:
java
object instanceof type
Trong đó:
object
là một biểu thức đại diện cho một đối tượng.type
là một kiểu dữ liệu (class hoặc interface) mà chúng ta muốn kiểm tra đối tượng có thuộc về hay không.
Kết quả của toán tử instanceof
là một giá trị boolean (true
hoặc false
). Nếu đối tượng được kiểm tra là một thể hiện của kiểu được chỉ định, kết quả là true
; ngược lại, kết quả là false
.
Ví dụ:
java
class Animal {
// ...
}
class Dog extends Animal {
// ...
}
class Cat extends Animal {
// ...
}
public class Main {
public static void main(String[] args) {
Animal animal = new Dog();
if (animal instanceof Dog) {
System.out.println("animal is an instance of Dog");
}
if (animal instanceof Cat) {
System.out.println("animal is an instance of Cat");
} else {
System.out.println("animal is not an instance of Cat");
}
}
}
Trong ví dụ này, chúng ta có các lớp Animal
, Dog
, và Cat
. Chúng ta tạo ra một đối tượng animal
của kiểu Animal
nhưng thực tế đang tham chiếu đến một đối tượng Dog
. Sử dụng toán tử instanceof
, chúng ta kiểm tra xem animal
có phải là một thể hiện của lớp Dog
hay không. Kết quả là true
, vì animal
thực sự là một đối tượng Dog
. Sau đó, chúng ta kiểm tra xem animal
có phải là một thể hiện của lớp Cat
hay không. Kết quả là false
, vì animal
không phải là một đối tượng Cat
.
Toán tử instanceof
thường được sử dụng để kiểm tra kiểu đối tượng trước khi thực hiện các hoạt động hay ép kiểu tương ứng, đảm bảo rằng các phép toán hoặc thao tác chỉ được thực hiện trên các đối tượng hợp lệ.