Tässä esimerkissä opitaan määrittämään Java-objektin luokka käyttämällä getClass () -menetelmää, instanceof-operaattoria ja isInstance () -menetelmää.
Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista Java-ohjelmointiaiheista:
- Java-luokka ja objektit
- Operaattorin Java-instanssi
Esimerkki 1: Tarkista objektin luokka getClass () -ominaisuuden avulla
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()); ) )
Tuotos
Obj1-luokka on: luokka Test1 Luokka obj2 on: luokka Test2
Yllä olevassa esimerkissä olemme käyttäneet getClass()
menetelmää Object
luokan saada luokan nimi esineiden obj1 ja Obj2.
Lisätietoja on Java Object getClass () -sivulla.
Esimerkki 2: Tarkista objektin luokka operaattorin instanceOf avulla
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"); ) ) )
Tuotos
obj on testiluokan kohde
Yllä olevassa esimerkissä olemme käyttäneet instanceof
operaattoria tarkistaaksemme, onko objekti obj luokan Test esiintymä.
Esimerkki 3: Tarkista objektin luokka käyttämällä 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"); ) ) )
Tuotos
obj on testiluokan kohde
Tässä olemme käyttäneet isInstance()
luokan Class
menetelmää tarkistaaksemme, onko objekti obj luokan Test kohde.
isInstance()
Menetelmä toimii samalla tavalla kuin instanceof
operaattori. Se on kuitenkin edullinen ajoaikana.