In dit voorbeeld zullen we leren om de klasse van een object in Java te bepalen met behulp van de methode getClass (), de operator instanceof en de methode isInstance ().
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:
- Java-klasse en objecten
- Java-instantie van Operator
Voorbeeld 1: controleer de klasse van een object met getClass ()
class Test1 ( // first class ) class Test2 ( // second class ) class Main ( public static void main(String() args) ( // create objects Test1 obj1 = new Test1(); Test2 obj2 = new Test2(); // get the class of the object obj1 System.out.print("The class of obj1 is: "); System.out.println(obj1.getClass()); // get the class of the object obj2 System.out.print("The class of obj2 is: "); System.out.println(obj2.getClass()); ) )
Uitvoer
De klasse van obj1 is: class Test1 De klasse van obj2 is: class Test2
In het bovenstaande voorbeeld hebben we de getClass()
methode van de Object
klasse gebruikt om de klassenaam van de objecten obj1 en obj2 op te halen.
Bezoek Java Object getClass () voor meer informatie.
Voorbeeld 2: controleer de klasse van een object met de operator instanceOf
class Test ( // class ) class Main ( public static void main(String() args) ( // create an object Test obj = new Test(); // check if obj is an object of Test if(obj instanceof Test) ( System.out.println("obj is an object of the Test class"); ) else ( System.out.println("obj is not an object of the Test class"); ) ) )
Uitvoer
obj is een object van de klasse Test
In het bovenstaande voorbeeld hebben we de instanceof
operator gebruikt om te controleren of het object obj een instantie is van de klasse Test.
Voorbeeld 3: controleer de klasse van een object met isInstance ()
class Test ( // first class ) class Main ( public static void main(String() args) ( // create an object Test obj = new Test(); // check if obj is an object of Test1 if(Test.class.isInstance(obj))( System.out.println("obj is an object of the Test class"); ) else ( System.out.println("obj is not an object of the Test class"); ) ) )
Uitvoer
obj is een object van de klasse Test
Hier hebben we de isInstance()
methode van de klasse gebruikt Class
om te controleren of het object obj een object is van de klasse Test.
De isInstance()
methode werkt op dezelfde manier als de instanceof
operator. Het heeft echter de voorkeur tijdens de looptijd.