English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este ejemplo, aprenderemos a usar el método getClass(), el operador instanceof y el método isInstance() para determinar la clase de un objeto en Java.
Para entender este ejemplo, debe conocer lo siguienteProgramación JavaTema:
class Test1 { // first class } class Test2 { // second class } class Main { public static void main(String[] args) { //Crear objeto Test1 obj1 = new Test1(); Test2 obj2 = new Test2(); // Obtener el objeto obj1la clase System.out.print("obj1es: "); System.out.println(obj1.getClass()); // Obtener el objeto obj2la clase System.out.print("obj2es: "); System.out.println(obj2.getClass()); } }
输出结果
obj1es: class Test1 obj2es: class Test2
En el ejemplo anterior, utilizamos el método getClass() de la clase Object para obtener la clase del objeto obj1y obj2el nombre de la clase.
Para obtener más información, visiteJava Object getClass().
class Test { // class } class Main { public static void main(String[] args) { //创建一个对象 Test obj = new Test(); // Verificar si obj es un objeto de Test if(obj instanceof Test) { System.out.println("obj是Test类的对象"); } else { System.out.println("obj不是Test类的对象"); } } }
输出结果
obj是Test类的对象
En el ejemplo anterior, utilizamos el operador instanceof para verificar si el objeto obj es una instancia de Test.
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运算符类似。但是,最好在运行时使用。