java instanceof鎬庝箞浣跨敤
Java涓殑instanceof杩愮畻绗︾敤浜庢鏌ュ璞℃槸鍚︽槸鐗瑰畾绫荤殑瀹炰緥鎴栬€呭疄鐜颁簡鐗瑰畾鎺ュ彛銆傚畠鐨勪娇鐢ㄦ柟寮忔槸灏嗚妫€鏌ョ殑瀵硅薄涓庣洰鏍囩被鎴栨帴鍙h繘琛屾瘮杈冿紝濡傛灉瀵硅薄鏄洰鏍囩被鐨勫疄渚嬫垨瀹炵幇浜嗙洰鏍囨帴鍙o紝鍒欒繑鍥瀟rue锛屽惁鍒欒繑鍥瀎alse銆?/p>
涓嬮潰鏄痠nstanceof杩愮畻绗︾殑浣跨敤绀轰緥锛?/p>
class Animal {}
class Dog extends Animal {}
class Cat extends Animal {}
public class Main {
public static void main(String[] args) {
Animal animal = new Dog();
System.out.println(animal instanceof Animal); // true
System.out.println(animal instanceof Dog); // true
System.out.println(animal instanceof Cat); // false
}
}
鍦ㄤ笂闈㈢殑绀轰緥涓紝Dog
绫荤户鎵胯嚜Animal
绫伙紝Cat
绫讳篃缁ф壙鑷?code>Animal绫汇€傚湪main
鏂规硶涓紝鎴戜滑鍒涘缓浜嗕竴涓?code>Dog瀵硅薄锛屽苟灏嗗叾璧嬪€肩粰Animal
绫诲瀷鐨勫彉閲?code>animal銆傜劧鍚庝娇鐢?code>instanceof杩愮畻绗︽潵妫€鏌?code>animal瀵硅薄鏄惁鏄?code>Animal绫荤殑瀹炰緥銆?code>Dog绫荤殑瀹炰緥鍜?code>Cat绫荤殑瀹炰緥銆傚洜涓?code>animal瀵硅薄鏄?code>Dog绫荤殑瀹炰緥锛屾墍浠ョ2涓拰绗?涓?code>println璇彞杩斿洖true鍜宖alse銆?/p>
娉ㄦ剰锛?code>instanceof杩愮畻绗﹁繕鍙互鐢ㄤ簬鍒ゆ柇瀵硅薄鏄惁鏄煇涓被鐨勫瓙绫荤殑瀹炰緥銆傚湪涓婇潰鐨勭ず渚嬩腑锛?code>Dog绫绘槸Animal
绫荤殑瀛愮被锛屾墍浠?code>animal instanceof Animal杩斿洖true銆?/p>