📜  Java程序来确定对象的类

📅  最后修改于: 2020-09-26 18:32:04             🧑  作者: Mango

在此示例中,我们将学习使用getClass()方法,instanceof 运算符和isInstance()方法来确定Java中对象的类。

示例1:使用getClass()检查对象的类
class Test1 {
// first class
}

class Test2 {
// second class
}


class Main {
  public static void main(String[] args) {
    // create objects
    Test1 obj1 = new Test1();
    Test2 obj2 = new Test2();

    // get the class of the object obj1
    System.out.print("The class of obj1 is: ");
    System.out.println(obj1.getClass());

    // get the class of the object obj2
    System.out.print("The class of obj2 is: ");
    System.out.println(obj2.getClass());
  }
}

输出

The class of obj1 is: class Test1
The class of obj2 is: class Test2

在上面的示例中,我们使用了Object类的getClass()方法来获取对象obj1obj2的类名称。

要了解更多信息,请访问Java Object getClass()。


示例2:使用instanceOf 运算符检查对象的类
class Test {
// class
}

class Main {
  public static void main(String[] args) {
    // create an object
    Test obj = new Test();

    // check if obj is an object of Test
    if(obj instanceof Test) {
      System.out.println("obj is an object of the Test class");
    }
    else {
      System.out.println("obj is not an object of the Test class");
    }
  }
}

输出

obj is an object of the Test class

在上面的示例中,我们使用instanceof 运算符检查对象obj是否为Test类的实例。


示例3:使用isInstance()检查对象的类
class Test {
// first class
}



class Main {
  public static void main(String[] args) {
    // create an object
    Test obj = new Test();

    // check if obj is an object of Test1
    if(Test.class.isInstance(obj)){
      System.out.println("obj is an object of the Test class");
    }
    else {
      System.out.println("obj is not an object of the Test class");
    }
  }
}

输出

obj is an object of the Test class

在这里,我们使用了isInstance()之类的方法Class来检查对象物obj是类测试的对象。

isInstance()方法的工作方式类似于instanceof 运算符。但是,在运行时首选。