uso:
(tipo variable instancia de clase | interfaz)
efecto:
El operador instancia de se utiliza para determinar si el objeto anterior es una instancia de la siguiente clase, o su subclase o clase de implementación. Si es así, devuelve verdadero; en caso contrario, devuelve falso.
Aviso:
・El tipo en tiempo de compilación del operando delante de instancia de es el mismo que el de la siguiente clase o tiene una relación de herencia padre-hijo con la siguiente clase; de lo contrario, se producirá un error de compilación.
Un ejemplo sencillo:
Copie el código de código de la siguiente manera:
/**
* instancia del operador
* @autor Administrador
*
*/
clase pública Instancia de prueba de {
público estático vacío principal (String [] argumentos) {
// Usa la clase Object al declarar hola, luego el tipo compilado de hola es Object
//La clase de objeto es la clase principal de todas las clases, pero el tipo real de saludo es String
Objeto hola = "Hola";
//String es una subclase de Object y puede realizar una operación de instancia y devolver verdadero
System.out.println ("¿Es la cadena una instancia de la clase de objeto?"
+ (hola instancia de Objeto));
//verdadero
System.out.println ("¿Es la cadena una instancia de String?"
+ (hola instancia de String));
//FALSO
System.out.println ("¿Es la cadena una instancia de la clase Math?"
+ (hola instancia de Math));
//String implementa la interfaz Comparable, por lo que devuelve verdadero
System.out.println ("¿Es la cadena una instancia de la clase Comparable?"
+(hola instancia de Comparable));
/**
* String no es la clase Math ni la clase principal de la clase Math, por lo que el siguiente código se compila incorrectamente
*/
//Cadena a = "hola";
//System.out.println("¿Es la cadena una instancia de la clase Math?"
// + (una instancia de Math));
}
}
Resultados de ejecución:
Copie el código de código de la siguiente manera:
Si la cadena es una instancia de la clase de objeto: verdadero
Si la cadena es una instancia de String: verdadero
Si la cadena es una instancia de la clase Math: falso
Si la cadena es una instancia de la clase Comparable: verdadero
Por lo general, antes de realizar una conversión de tipo forzada, primero se determina si el objeto anterior es una instancia del último objeto y si la conversión puede tener éxito, garantizando así la solidez del código.