El operador instanceof en Java se utiliza para indicar en tiempo de ejecución si un objeto es una instancia de una clase particular. instanceof indica si el objeto es una instancia de esta clase particular o de su subclase al devolver un booleano.
instanceof en Java está en .net!
Uso: resultado = instancia de objeto de clase Parámetro: Resultado: tipo booleano. Objeto: Obligatorio. Expresiones arbitrarias de objetos. Clase: Obligatorio. Cualquier clase de objeto definida. Ilustrar: Si el objeto es una instancia de la clase, el operador instancia devuelve verdadero. Si el objeto no es una instancia de la clase especificada, o si el objeto es nulo, se devuelve false.
Sin embargo, existe una diferencia entre el estado de compilación y el estado de ejecución de instancias en Java:
En el estado compilado, la clase puede ser la clase madre, su propia clase o la clase hija del objeto objeto. En estos tres casos, Java no informa de un error al compilar.
En la transición en curso, la clase puede ser la clase madre del objeto objeto, su propia clase, no una clase hija. En los dos primeros casos, el resultado es verdadero y el último es falso. Sin embargo, cuando la clase es una subclase, la compilación no reportará un error. El resultado de la carrera es falso.
Ejemplo:
interfaz Persona
interfaz pública Person { vacío público comer();
}
Implementar la clase Pueblo
clase pública Personas implementa Persona { Private int a=0; @Override vacío público comer() { System.out.println("======"+a);
}
}
Subcategoría xiaoming:
la clase pública xiaoming extiende a la gente { nombre privado String;
@Override vacío público comer() { System.out.println("+++++++++");
}
}
Función principal
Nota: El código en los dos lugares anteriores no informará de un error al compilar.
Resultado de la carrera:
true
false
true
true
|