在此示例中,我们将学习使用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运算符类似。但是,最好在运行时使用。