JavaRush /จาวาบล็อก /Random-TH /ตัวอย่างของตัวดำเนินการ
articles
ระดับ

ตัวอย่างของตัวดำเนินการ

เผยแพร่ในกลุ่ม
เมื่อใช้โอเปอเรเตอร์instanceofคุณจะสามารถค้นหาได้ว่าวัตถุนั้นมาจากคลาสใด โอเปอเรเตอร์นี้มีสองอาร์กิวเมนต์ ทางด้านซ้ายคือการอ้างอิงถึงออบเจ็กต์ และทางด้านขวาคือชื่อของประเภทที่จะตรวจสอบความเข้ากันได้ของออบเจ็กต์ ตัวอย่างเช่น: อินสแตนซ์ของตัวดำเนินการ - 1
Parent р = new Child(); // проверяем переменную р типа Parent
//на совместимость с типом Child print(p instanceof Child);
ผลลัพธ์จะเป็นจริง ดังนั้นตัวดำเนินการinstanceofจึงไม่ขึ้นอยู่กับประเภทของการอ้างอิง แต่ขึ้นอยู่กับคุณสมบัติของออบเจ็กต์ที่อ้างอิงถึง แต่ตัวดำเนินการนี้ส่งคืนค่าจริงไม่เพียงแต่สำหรับประเภทที่ได้รับวัตถุเท่านั้น มาเพิ่มอีกคลาสหนึ่งให้กับคลาสที่ประกาศไว้แล้ว:
// Объявляем новый класс и наследуем
// его от класса Child
class ChildOfChild extends Child {}
ตอนนี้เรามาสร้างตัวแปรประเภทใหม่กันดีกว่า:
Parent p = new ChildOfChild();
print(p instanceof Child);
บรรทัดแรกประกาศตัวแปรประเภทParentซึ่งเริ่มต้นด้วยการอ้างอิงถึงวัตถุที่ได้รับมาChildOfChildจาก ในบรรทัดที่สอง คำสั่งinstanceofจะวิเคราะห์ความเข้ากันได้ของการอ้างอิงประเภทParentกับคลาสChildและอ็อบเจ็กต์ที่เกี่ยวข้องไม่ได้มาจากคลาสที่หนึ่งหรือคลาสที่สอง อย่างไรก็ตาม ตัวดำเนินการจะส่งคืนค่าจริงเนื่องจากคลาสที่ออบเจ็กต์นี้สืบทอดมาChildจาก ลิงก์ไปยังแหล่งที่มาดั้งเดิม: ตัวดำเนินการ instanceof
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION