Javaの多型は、問題となる変数の型は、実際に参照オブジェクトであるかを決定する方法です。ここでは、Javaのinstanceof演算子を支援するためにご紹介します。
オペレータINSTANCEOF変数の決意のために参照されたオブジェクトの実際の型は、参照されるオブジェクトのタイプは、タイプが変更されないことに留意されたいです。
次のコードを考えてみます。
パブリック クラスの人々 { }
パブリック クラスの先生は、拡張人々を{ }
パブリック クラス会長は拡張教師を{ }
パブリック 最終 クラスデモ{ 公共 静的 ボイドメイン(文字列[]引数){ 人々 OBJ = 新しい人(); もし(OBJ のinstanceof {オブジェクト) System.out.println(「私はオブジェクトです」); } もし(OBJ のinstanceof {ピープル) System.out.println(「私は男です」); } もし(OBJ のinstanceof 教師){ System.out.println(「私は教師です」)。 } もし(OBJ のinstanceof 社長){ System.out.println(「私は社長です」)。 } System.out.println( "------------------------------------------- - " ); OBJ = 新しい先生(); もし(OBJ のinstanceof {オブジェクト) System.out.println(「私はオブジェクトです」); } もし(OBJ のinstanceof {ピープル) System.out.println(「私は男です」); } もし(OBJ のinstanceof 教師){ System.out.println(「私は教師です」)。 } もし(OBJ のinstanceof 社長){ System.out.println(「私は社長です」)。 } } }
結果:
図から分かるように、変数は、そのクラスまたはサブクラスの参照現在のインスタンスである場合、instanceofのは、そうでなければ偽を返し、真を返します。