Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java程序检查获取对象的类

Java 实例大全

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

要理解此示例,您应该了解以下Java编程主题:

示例1:使用getClass()检查对象的类

class Test1 {
// first class
}

class Test2 {
// second class
}


class Main {
  public static void main(String[] args) {
    //创建对象
    Test1 obj1 = new Test1();
    Test2 obj2 = new Test2();

    // 获取对象obj1的类
    System.out.print("obj1的类是: ");
    System.out.println(obj1.getClass());

    // 获取对象obj2的类
    System.out.print("obj2的类是: ");
    System.out.println(obj2.getClass());
  }
}

输出结果

obj1的类是: class Test1
obj2的类是: class Test2

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

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

示例2:使用instanceOf运算符检查对象的类

class Test {
// class
}

class Main {
  public static void main(String[] args) {
    //创建一个对象
    Test obj = new Test();

    // 检查obj是否为Test的对象
    if(obj instanceof Test) {
      System.out.println("obj是Test类的对象");
    }
    else {
      System.out.println("obj不是Test类的对象");
    }
  }
}

输出结果

obj是Test类的对象

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

示例3:使用isInstance()检查对象的类

class Test {
// first class
}

class Main {
  public static void main(String[] args) {
    //创建一个对象
    Test obj = new Test();

    //检查obj是否为Test1的对象
    if(Test.class.isInstance(obj)){
      System.out.println("obj是Test类的对象");
    }
    else {
      System.out.println("obj不是Test类的对象");
    }
  }
}

输出结果

obj是Test类的对象

在这里,我们使用了Class类的isInstance()方法来检查对象obj是否为Test类的对象。

isInstance()方法的工作原理与instanceof运算符类似。但是,最好在运行时使用。

Java 实例大全