CodeGym/Java Blog/рдпрд╛рджреГрдЪреНрдЫрд┐рдХ/рдЬрд╛рд╡рд╛ рдХреНрд▓рд╛рд╕ рдХрд╛рд╕реНрдЯ() рдкрджреНрдзрдд
John Squirrels
рдкрд╛рддрд│реА 41
San Francisco

рдЬрд╛рд╡рд╛ рдХреНрд▓рд╛рд╕ рдХрд╛рд╕реНрдЯ() рдкрджреНрдзрдд

рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдпрд╛ рдЧреНрд░реБрдкрдордзреНрдпреЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реЗ
рд╕рджрд╕реНрдп
Java рдордзреНрдпреЗ, рдХрд╛рд╕реНрдЯрд┐рдВрдЧрд╕рд╛рдареА рд╡реЗрдЧрд╡реЗрдЧрд│реЗ рдкрд░реНрдпрд╛рдп рдЖрд╣реЗрдд. рддреНрдпрд╛рдкреИрдХреА рдПрдХ рдореНрд╣рдгрдЬреЗ java.lang.Class рдХреНрд▓рд╛рд╕рдЪреА cast() рдкрджреНрдзрдд . рд╣реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдпрд╛ рд╡рд░реНрдЧрд╛рдЪреНрдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯрд╡рд░ рдХрд╛рд╕реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ. рдСрдмреНрдЬреЗрдХреНрдЯ рдореНрд╣рдгреВрди рдХрд╛рд╕реНрдЯ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдкрджреНрдзрдд рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░рдд рдХрд░рддреЗ.

рдЬрд╛рд╡рд╛ рдХреНрд▓рд╛рд╕ рдХрд╛рд╕реНрдЯ() рдкрджреНрдзрдд рд╕рд┐рдВрдЯреЕрдХреНрд╕

рдЬрд╛рд╡рд╛ рдХреНрд▓рд╛рд╕ рдХрд╛рд╕реНрдЯ() рдкрджреНрдзрдд рдпрд╛ рдХреНрд▓рд╛рд╕ рдСрдмреНрдЬреЗрдХреНрдЯрджреНрд╡рд╛рд░реЗ рдкреНрд░рд╕реНрддреБрдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХреНрд▓рд╛рд╕ рдХрд┐рдВрд╡рд╛ рдЗрдВрдЯрд░рдлреЗрд╕рдордзреНрдпреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдЯрд╛рдХрддреЗ . рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рдХрд╛рд╕реНрдЯ() рдкрджреНрдзрддреАрдЪреЗ рд╡рд░реНрдгрди рдХрд░рддреЗ:
public T[] cast(Object obj),
рдЬрд┐рдереЗ obj рдЯрд╛рдХрд╛рдпрдЪрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрд╣реЗ. cast() рдкрджреНрдзрдд рдХрд╛рд╕реНрдЯ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░рдд рдХрд░рддреЗ, рдХрд┐рдВрд╡рд╛ obj рд╢реВрдиреНрдп рдЕрд╕рд▓реНрдпрд╛рд╕ null. рдСрдмреНрдЬреЗрдХреНрдЯ рд╢реВрдиреНрдп рдирд╕рд▓реНрдпрд╛рд╕ рдЖрдгрд┐ T рдкреНрд░рдХрд╛рд░рд╛рд╕рд╛рдареА рдирд┐рдпреБрдХреНрдд рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдирд╕рд▓реНрдпрд╛рд╕ рдкрджреНрдзрдд ClassCastException рдЯрд╛рдХрддреЗ . рд╕рд╛рдорд╛рдиреНрдпрддрдГ, рд╡рд░реНрдЧ рдкрджреНрдзрддреА (рдЬрд╕реЗ рдХреА cast() рдХрд┐рдВрд╡рд╛ isInstance() рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде) рдЬреЗрдиреЗрд░рд┐рдХ рдкреНрд░рдХрд╛рд░рд╛рдВрдЪреНрдпрд╛ рд╕рдВрдпреЛрдЧрд╛рдиреЗ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд.

Java рдХреНрд▓рд╛рд╕ рдХрд╛рд╕реНрдЯ() рдкрджреНрдзрдд рдХреЛрдб рдЙрджрд╛рд╣рд░рдг

рдпреЗрдереЗ class.cast() рдкрджреНрдзрддреАрдЪреНрдпрд╛ рдХрд╛рдорд╛рдЪреЗ рдПрдХ рдЫреЛрдЯреЗрд╕реЗ рдкреНрд░рд╛рддреНрдпрдХреНрд╖рд┐рдХ рдЖрд╣реЗ:
class Parent {
   public static void print() {
       System.out.println("print Class Parent...");
   }
}

class Child extends Parent {
   public static void print() {
       System.out.println("print Class Child...");
   }
}
public class CDemo {

   public static void main(String[] args) {

       //Here we have Class cast() method
       //demonstration. LetтАЩs have parent and child classes
      // and make casting operation

       Object myObject = new Parent();
       Child myChild = new Child();
       myChild.print();

       // casts object
       Object a = Parent.class.cast(myChild);

       System.out.println(myObject.getClass());
       System.out.println(myChild.getClass());
       System.out.println(a.getClass());
   }
}
рдпреЗрдереЗ рдЖрдЙрдЯрдкреБрдЯ рдкреБрдвреАрд▓ рдЖрд╣реЗ:
рдкреНрд░рд┐рдВрдЯ рд╡рд░реНрдЧ рдмрд╛рд▓... рд╡рд░реНрдЧ рдкрд╛рд▓рдХ рд╡рд░реНрдЧ рдмрд╛рд▓ рд╡рд░реНрдЧ рдореВрд▓
рдЯрд┐рдкреНрдкрдгреНрдпрд╛
  • рд▓реЛрдХрдкреНрд░рд┐рдп
  • рдирд╡реАрди
  • рдЬреБрдиреЗ
рдЯрд┐рдкреНрдкрдгреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА рд╕рд╛рдИрди рдЗрди рдХреЗрд▓реЗрд▓реЗ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ
рдпрд╛ рдкрд╛рдирд╛рд╡рд░ рдЕрдЬреВрди рдХреЛрдгрддреНрдпрд╛рд╣реА рдЯрд┐рдкреНрдкрдгреНрдпрд╛ рдирд╛рд╣реАрдд