この記事では、主にJavaのインスタンスとクラスの同等性を次のように研究しています。
Javaのオペレーターのインスタンスは、オブジェクトが実行時に特定のクラスのインスタンスであるかどうかを示すために使用されます。 InstanceOFは、オブジェクトがこの特定のクラスのインスタンスであるか、ブール値を返すことによりサブクラスであるかを示します。
例1(instanceof)
インターフェイス担当者
パブリックインターフェイスパーソン{public void eat();}Peopleクラスを実装します
パブリッククラスの人々は人を実装します{private int a = 0; @Override public void eat(){system.out.println( "======"+a); }}サブクラスXiaoming:
パブリッククラスXiaomingは人々を拡張します{private string name; @overridepublic void eat(){system.out.println( "+++++++++++");}}主な関数
public static void main(string [] args){people p = new People(); xiaoming x = new Xiaoming(); system.out.println(p instanceof person); system.out.println(p instanceof xiaoming); ----- 2 System.out.println(x Instanceof Person); system.out.println(x Instance of of of people); }注:上記2のコードは、コンピレーション中にエラーを報告しません。
実行結果:
TrueFalsettrue
例2
パッケージcom.test.class_obj; class base {} class derived extends base {} public class familyvsexacttype {static void test(object x){system.out.println( "タイプのテストx" + x.getClass().getSimpleName());System.out.println("------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- base)); system.out.println( "x instanceof derived" +(x instanceof derived)) --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Derived.class.isInstance(x));System.out.println("-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- (x.getClass()。equals(base.class))); system.out.println( "x.getClass()。equals(derived.class))" + (x.getClass()。equals(derived.class))); system.out.println( "*********************************************************************************************"); out.println( " {test(new base()); test(new derived());}}出力コンテンツは次のとおりです。
タイプのXをテストします Base---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- FALSE ********************************************************************************* XのXのテスト 派生 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- base.class falsesex.getclass()== derived.class truex.getClass()。equals(base.class))falsesex.getClass()。 TRUE ************************************************************************************************************************************************************************************************************コード0を終了します
上記のテストにより、次の結論を描画できます。
要約します
上記は、Javaのインスタンスとクラスの等価コードの例に関するこの記事の全体的な内容です。私はそれが誰にでも役立つことを願っています。興味のある友人は、このサイトの他の関連トピックを引き続き参照できます。欠点がある場合は、それを指摘するためにメッセージを残してください。このサイトへのご支援をありがとうございました!