How to use the Instanceof keyword of Java
Today, I would like to share with you the relevant knowledge points about how to use the Instanceof keyword of Java. The content is detailed and the logic is clear. I believe most people still know too much about this, so share this article for your reference. I hope you can get something after reading this article. Let's take a look.
For example:
Class A {
Public void eat () {
System.out.println ("parent class An eats")
}
}
Class B extends A {
Public void eat () {
System.out.println ("subcategory B eating")
}
}
Class C extends A {
Public void eat () {
System.out.println ("subclass C eating")
}
}
Public class Shiyan {
Public static void main (String [] args) {
/ / TODO Auto-generated method stub
An a=new B (); / / upward transformation, assigning the instantiation of class B to the object of class A.
A.eat (); / / call the eat method of class B through the object of class A
The function of the / / an instanceof A keyword is to determine whether an instantiated object of class A can be assigned to object a.
C c = (C) a bank / uses a cast to force an instantiated object of class B into an instantiated object of C. The compiler can compile, but the runtime reports an error with a conversion exception.
A.eat ()
}
Run without the Instanceof keyword as follows:
The compiler reported a type conversion exception
Subcategory B eats.
Exception in thread "main" java.lang.ClassCastException: class polymorphism.B cannot be cast to class polymorphism.C (polymorphism.B and polymorphism.C are in unnamed module of loader 'app')
At polymorphism.Shiyan.main (Shiyan.java:28)
Improved use of the keyword Instanceof code:
At this time, the keyword Instanceof is used to determine whether the conversion is successful.
Class A {
Public void eat () {
System.out.println ("parent class An eats")
}
}
Class B extends A {
Public void eat () {
System.out.println ("subcategory B eating")
}
}
Class C extends A {
Public void eat () {
System.out.println ("subclass C eating")
}
}
Public class Shiyan {
Public static void main (String [] args) {
/ / TODO Auto-generated method stub
An a=new B (); / / upward transformation, assigning the instantiation of class B to the object of class A.
A.eat (); / / call the eat method of class B through the object of class A
The function of the / / an instanceof A keyword is to determine whether an instantiated object of class A can be assigned to object a.
Boolean isturue=an instanceof C
System.out.println (isturue)
}
The result of the improved operation:
Subcategory B eats.
False above is all the content of this article entitled "how to use Java's Instanceof keyword". Thank you for reading! I believe you will gain a lot after reading this article. The editor will update different knowledge for you every day. If you want to learn more knowledge, please pay attention to the industry information channel.