Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java instanceof operator: een uitgebreide gids

Java instanceof operator: een uitgebreide gids

Ontdek hoe Java's instanceof operator werkt, met duidelijke voorbeelden die basisgebruik, erfenis en interfaces dekken.

In Java laat de instanceof operator je verifiëren of een object behoort tot een specifieke klasse of interface. Het retourneert true als de runtime-type van het object overeenkomt met het gespecificeerde type, anders false.

objectNaam instanceof klasseNaam;

Hieronder is een eenvoudig voorbeeld dat de operator demonstreert met een String en een gebruiker-gedefinieerde klasse.

Voorbeeld: Basale instanceof gebruik

class Main { public static void main(String[] args) { String naam = "Programiz"; boolean resultaat1 = naam instanceof String; System.out.println("naam is een instantie van String: " + resultaat1); Main obj = new Main(); boolean resultaat2 = obj instanceof Main; System.out.println("obj is een instantie van Main: " + resultaat2); } }

Uitvoer

naam is een instantie van String: true obj is een instantie van Main: true

Beide checks retourneren true omdat naam inderdaad een String is en obj een Main instantie.

Let op: In Java is String een referentietype, geen primitief.

instanceof gebruiken met erfenis

De operator is onmisbaar bij het werken met polymorfische hiërarchieën. Het bevestigt dat een subklasse-instantie ook het superklassetype voldoet.

// Superklasse class Dier {} // Subklasse class Hond extends Dier {} class Main { public static void main(String[] args) { Hond h1 = new Hond(); System.out.println(h1 instanceof Hond); // true System.out.println(h1 instanceof Dier); // true } }

Zoals getoond, wordt h1 herkend als zowel een Hond als een Dier, wat Java's erfenismodel weerspiegelt.

instanceof gebruiken met interfaces

instanceof controleert ook of een object een bepaalde interface implementeert.

interface Dier { } class Hond implements Dier { } class Main { public static void main(String[] args) { Hond h1 = new Hond(); System.out.println(h1 instanceof Dier); // true } }

Hier is h1 een Hond die Dier implementeert, dus de operator retourneert true.

Let op: Elke Java-klasseextends uiteindelijk java.lang.Object. Daarom is elk object ook een instantie van Object. Bijvoorbeeld:

h1 instanceof Object

Dit zal altijd evalueren naar true.

Java

  1. Java's final-sleutelwoord begrijpen: variabelen, methoden en klassen
  2. Java-erfenis meesteren: concepten, typen en praktische voorbeelden
  3. Java geneste static classes begrijpen: gebruik, verschillen en voorbeelden
  4. Java anonieme inner classes meesteren: definitie, syntax en praktische voorbeelden
  5. Java Singleton patroon uitgelegd: hoe veilig te implementeren en gebruiken
  6. Java Reflectie meesteren: klassen, methoden en velden inspecteren tijdens runtime
  7. Java ArrayList meesteren: operaties, methoden en best practices
  8. Java ObjectOutputStream: Serialisatie, methoden en praktische voorbeelden
  9. Java Generics: Herbruikbare, type-veilige code bouwen
  10. Java-bestandsbewerkingen onder de knie krijgen met java.io – Aanmaken, lezen, schrijven en verwijderen
  11. Java 9: Anonieme inner classes vereenvoudigen met de Diamond Operator