⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 interfacedispatch.java

📁 this gcc-g++-3.3.1.tar.gz is a source file of gcc, you can learn more about gcc through this codes f
💻 JAVA
字号:
/* Test interface dispatch, type checking (instanceof), and casting. */interface IA{  String a();}interface IB extends IA{  String b();}interface IC extends IB{  void c();  int d();  IB e(int i);}interface ID{  String z();  String a();  }class CA{  String a()  {    return "CA a()";  }}class CB implements IB{  public String a()  {    return "CB a()";  }    public String b()  {    return "CB b()";    }}class CC extends CB{  public int d()  {    return 99;  }}class CD extends CC implements IC{  public String a()  {    return "CD a()";  }    public void c()  {    System.out.println("CD c()");  }    public int d()  {    return 6;  }    public IB e(int i)  {    if (i == 1)      return new CB();    else      return new CD();  }}class CE extends CB implements IB, ID{  public String a()  {    return ("CE a()");  }    public String b()  {    return ("CE b()");  }      public String z()  {    return("CE z()");    }}public class InterfaceDispatch{  public static void main(String args[])  {    new InterfaceDispatch();  }    public InterfaceDispatch()  {    /* _Jv_InstanceOf */        /* Object instanceof CLASS */    Object obj = new CA();        if (obj instanceof CA)      {        System.out.println ("ok 1");      }    else      {        System.out.println ("FAIL 1");      }    obj = new CD();        if (!(obj instanceof CA))      {        System.out.println ("ok 2a");      }    else      {        System.out.println ("FAIL 2a");      }    if (obj instanceof CB)      {        System.out.println ("ok 2b");      }    else      {        System.out.println ("FAIL 2b");      }        /* Object instanceof INTERFACE */    obj = new CB();        if (!(obj instanceof IC))      {        System.out.println("ok 3");      }    else      {        System.out.println ("FAIL 3");      }        if (obj instanceof IB)      {        System.out.println("ok 4");      }    else      {        System.out.println ("FAIL 4");      }        /* InterfaceRef instanceof INTERFACE */        IA ia = new CB();        if (ia instanceof IB)      {        System.out.println("ok 5");      }    else      {        System.out.println ("FAIL 5");      }            if (!(ia instanceof IC))      {        System.out.println("ok 6");      }    else      {        System.out.println ("FAIL 6");      }          /* InterfaceRef instanceof CLASS */        if (ia instanceof CB)      {        System.out.println("ok 7");      }    else      {        System.out.println ("FAIL 7");      }              if (!(ia instanceof CD))      {        System.out.println("ok 8");      }    else      {        System.out.println ("FAIL 8");      }                /* _Jv_CheckCast */    Object obj_ca = new CA();    Object obj_cc = new CC();            IA ia2;        try      {        ia2 = (IA) obj_cc;        System.out.println("ok 9");      }    catch (ClassCastException x)      {        System.out.println("FAIL 9");      }        CD cd;        try      {        cd = (CD) obj_ca;        System.out.println("FAIL 10");      }    catch (ClassCastException x)      {        System.out.println("ok 10");      }        IA ia3;        try      {        ia3 = (IB) obj_ca;        System.out.println("FAIL 11");      }    catch (ClassCastException x)      {        System.out.println("ok 11");      }          /* _Jv_LookupInterfaceMethod */    Object obj_cb = new CB();        IB ib = (IB) obj_cb;    ib.b();    if (ib.a().equalsIgnoreCase("CB a()"))      System.out.println("ok 12");    else      System.out.println("FAIL 12");          IC ic = new CD();    if (ic.a().equalsIgnoreCase("CD a()"))      System.out.println("ok 13");    else      System.out.println("FAIL 13");              if (ic.d() == 6)      System.out.println("ok 14");    else      System.out.println("FAIL 14");          Object ce = new CE();        ib = (IB) ce;    ID id = (ID) ce;        if (ib.b().equals("CE b()") && id.a().equals("CE a()"))      System.out.println("ok 15");    else      System.out.println("FAIL 15");        String t = ((ID)ce).z();        if (t.equalsIgnoreCase("CE z()"))      System.out.println("ok 16");    else      System.out.println("FAIL 16");          /* Array types */        Object[] obj_a = new CC[10];    try      {        CB[] ca_a = (CB[]) obj_a;        System.out.println("ok 17");      }    catch (ClassCastException x)      {        System.out.println("FAIL 17");      }        if (obj_a instanceof IB[])      {        System.out.println("ok 18");            }    else      {        System.out.println("FAIL 18");            }        IB[] ib_a = new CD[5];    try       {        CD[] cd_a = (CD[]) ib_a;        System.out.println("ok 19");      }    catch (ClassCastException x)      {        System.out.println("FAIL 19");      }          CA[] ca_a;    try       {        ca_a = (CA[]) ib_a;        System.out.println("FAIL 20");      }    catch (ClassCastException x)      {        System.out.println("ok 20");      }        /* Primitive types */        short[] short_a = new short[100];        try      {        obj = short_a;        System.out.println("ok 21");      }    catch (ClassCastException x)      {        System.out.println("FAIL 21");            }    try      {        short[] short_b = (short[]) obj;        System.out.println("ok 22");      }    catch (ClassCastException x)      {        System.out.println("FAIL 22");            }    int[] short_b;    try      {        short_b = (int[]) obj;        System.out.println("FAIL 23");      }    catch (ClassCastException x)      {        System.out.println("ok 23");            }    Object obj1 = new int[25];        if (obj1 instanceof short[])      {        System.out.println("FAIL 24");            }    else      {        System.out.println("ok 24");      }        if (obj1 instanceof int[])      {        System.out.println("ok 25");      }    else      {        System.out.println("FAIL 25");      }          /* null assignment */        CA obj_ca2 = null;        if (obj_ca2 instanceof CA)      {        System.out.println("FAIL 26");              }    else      {        System.out.println("ok 26");      }  }  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -