L'operatore instanceof in Java viene usato per indicare a runtime se un oggetto è un'istanza di una particolare classe. Instanceof indica se l'oggetto è un'istanza di questa particolare classe o della sua sottoclasse restituendo un booleano.
instanceof in Java è in .net!
Uso: Risultato = Istanza oggetto della classe Parametro: Risultato: tipo booleano. Obiettivo: Richiesto. Espressioni arbitrarie degli oggetti. Classe: Obbligatoria. Qualsiasi classe di oggetti definita. Illustrare: Se l'oggetto è un'istanza della classe, l'operatore instanceof restituisce true. Se l'oggetto non è un'istanza della classe specificata, o se l'oggetto è nullo, viene restituito falso.
Tuttavia, c'è una differenza tra lo stato di compilation e lo stato di esecuzione di instanceof in Java:
Nello stato compilato, la classe può essere la classe genitore, una propria classe o una classe figlia dell'oggetto oggetto. In questi tre casi, Java non segnala errori durante la compilazione.
Nella transizione in corso, la classe può essere la classe genitore dell'oggetto oggetto, una classe a sé stante, non una classe figlia. Nei primi due casi, il risultato è vero e l'ultimo è falso. Tuttavia, quando la classe è una sottoclasse, la compilazione non riporterà errori. Il risultato della run è falso.
Esempio:
interfaccia Persona
interfaccia pubblica Person { Empty Eat pubblico();
}
Implementa la classe People
classe pubblica Persone implementano Persona { Private int A=0; @Override Public Void Eat() { System.out.println("======"+a);
}
}
Sottocategoria xiaoming:
la classe pubblica xiaoming estende le persone { nome privato String;
@Override Public Void Eat() { System.out.println("+++++++++");
}
}
Funzione principale
Nota: Il codice nei due punti sopra non riporterà errori durante la compilazione.
Risultato della partita:
true
false
true
true
|